ビューモデルに2つのテキストフィールドtext1とtext2があります。 text1が入力されていればtext2を入力しなければならないかどうかを検証する必要があります。ビューモデルのカスタム検証でこれをどのように達成できますか?asp.net mvcの2つのフィールドの検証 - 1つは他に入力した場合に存在する必要があります
ありがとうございました。
あなたはjQueryのを使用することができますビューモデルに2つのテキストフィールドtext1とtext2があります。 text1が入力されていればtext2を入力しなければならないかどうかを検証する必要があります。ビューモデルのカスタム検証でこれをどのように達成できますか?asp.net mvcの2つのフィールドの検証 - 1つは他に入力した場合に存在する必要があります
ありがとうございました。
あなたはjQueryのを使用することができますあなたはあなたのビューモデル上のサーバー側の検証のためにIValidatableObject
(System.ComponentModel.DataAnnotations
名前空間から)を実装使用することができます。
public class AClass : IValidatableObject
{
public int Id { get; set; }
public string Name { get; set; }
public string SecondName { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if((!string.IsNullOrEmpty(Name) && string.IsNullOrEmpty(SecondName)) || (string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(SecondName)))
yield return new ValidationResult("Name and Second Name should be either filled, or null",new[] {"Name","SecondName"});
}
}
今では作りますNameとSecondNameの両方が設定されている場合はnull、そうでない場合はmodelが有効です。
、このような何か:
$("input[x2]").hide();
$("input[x1]").keypress(function() {
var textValue = ("input[x1]").val();
if(textValue)
$("input[x2]").show();
})
あなたはデータ注釈バリデータと検証は、あなたのモデルに属性を使用したい場合は、これを見て取る必要があります:それは条件付きの検証を行い、MVC確実な検証で 「attribute dependent on another field」
ルック。ナゲットまたはhttp://foolproof.codeplex.com
であることを確認してください。妥当性確認の要約を使用している場合は、検証結果にフィールドを返さないことをおすすめします。検証結果の両方のフィールドを返すと、検証サマリには、期待される単一のメッセージの代わりに2つのメッセージが含まれます。 –
クラスのプロパティに注釈を付けるためにこれをどのように使用するかについて、いくつかのコードを含めることができますか? – niico