Yes, this is a valid syntax, but it may not do what you need.
Execution will continue after yours RAISERROR, unless you have added RETURN. Therefore, you will need to add a block c BEGIN ... ENDto store two statements.
Also, I'm not sure why you are facing seriousness 15. Which usually indicates a syntax error .
, , IN
CREATE PROCEDURE [dbo].[AddApplicationUser] (@TenantId BIGINT,
@UserType TINYINT,
@UserName NVARCHAR(100),
@Password NVARCHAR(100))
AS
BEGIN
IF ( @TenantId IS NULL
AND @UserType IN ( 0, 1 ) )
BEGIN
RAISERROR('The value for @TenantID should not be null',15,1);
RETURN;
END
END