如果跳至字段时验证失败,则需要ExpressiveAnnotations

时间:2018-11-09 16:35:00

标签: asp.net asp.net-mvc expressiveannotations

我有一个模型,其中有两个使用RequiredIf验证器的字段(需要电话或电子邮件):

[RequiredIf("Phone == null", ErrorMessage = "Either Phone or Email is required")]
public string Email { get; set; }
[RequiredIf("Email == null", ErrorMessage = "Either Phone or Email is required")]
public string Phone {get; set; }

问题在于,在表单上,​​如果您选择第一个字段(Email),则一旦选择该字段,就会触发对Phone的验证,并显示错误消息。如果您开始输入,错误消息就会消失。

所要求的功能是,如果您制表到电子邮件,则直到您从两个有条件必填字段中制表后,验证才会触发,或者,直到您单击提交按钮,才启动验证。

是否可以使用RequiredIf注释?

1 个答案:

答案 0 :(得分:0)

    <script>
        ea.settings.apply({
            dependencyTriggers: null // fire validation on submit only
        }); 

        ea.settings.apply({
            dependencyTriggers: 'keyup' // fire on keyup
        }); 

    </script>
  

更多信息https://github.com/jwaliszko/ExpressiveAnnotations#how-to-control-frequency-of-dependent-fields-validation