フォームの投稿を許可する前に、データ注釈を使用して2つのフォームフィールドを比較する(たとえば、メールアドレスを確認する)方法は同じですか?
例えば。正規表現データアノテーションは、match関数を使用してViewModelの別のプロパティを参照できますか?
CompareAttribute を使用します
public string EmailAddress {get; set;}
[Compare(nameof(EmailAddress), ErrorMessage = "Emails mismatch")]
public string VerifiedEmailAddress { get; set; }
1つの可能なオプションとして自己検証:
インターフェースを実装しますIValidatableObjectメソッドValidateで、検証コードを配置できます。
public class TestModel : IValidatableObject
{
public string Email{ get; set; }
public string ConfirmEmail { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (Email != ConfirmEmail)
{
yield return new ValidationResult("Emails mismatch", new [] { "ConfirmEmail" });
}
}
}
注意してください:これはサーバー側の検証のみです。