データ注釈を使用したくないのはなぜですか?
クライアント側の検証のみに依存することはお勧めできません。ユーザーがブラウザー内で JavaScript を無効にしている可能性があるため、HTML5 フォーム検証の場合は古いブラウザーを使用している可能性があるためです。これは、ユーザーが無効なフォーム データを送信することにつながるだけです。クライアント側とサーバー側の検証を常に組み合わせて使用する必要があります。
ビュー モデルを作成し、データ注釈を有効にすることを強くお勧めします。たとえば、検証目的で必須属性とカスタム電子メール属性を使用することに注意してください。
[Required(ErrorMessage = "Please enter email address"]
[Email(ErrorMessage = "Please enter valid email")]
public string Email { get; set; }
メール検証属性の例:
public class EmailAttribute : RegularExpressionAttribute
{
private const string EmailReg = @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$";
public EmailAttribute() : base(EmailReg)
{
}
}
さて、あなたの質問によると、クライアント側の検証のみを使用したい場合は、HTML5 フォームの検証に頼るべきではありません。検証を有効にする簡単な方法は、jquery 検証プラグインを取得することです。
デモはこちら: http://jquery.bassistance.de/validate/demo/