对mvc4中的隐藏字段应用远程验证

时间:2014-02-27 07:42:22

标签: asp.net-mvc-4 remote-validation

mvc中隐藏字段的远程验证不会被触发 型号:

[Remote("checker", "mycontroller", ErrorMessage = "Valid combination of phone and account number required.", HttpMethod = "Get")]
        public string Validate_cart { get; set; }

查看:

@Html.HiddenFor(model => model.Validate_Paris)

还尝试使用jquery设置值:

$("#Phone_Number").blur(function () {
$("#Validate_cart").val = "dummy"
});

使用jquery或模型设置值,但不会触发验证。我使用fiddler进行了检查,无法随时调用该方法。

方法

 [HttpGet]
        public  bool checker(string Validate_cart )
        {
            try
            {

                bool isValid = //code to hit database to check the record
                return !isValid;               

            }
            catch (Exception)
            {
                throw;
            }
        }

1 个答案:

答案 0 :(得分:0)

默认情况下,jquery验证会忽略

隐藏字段。这是由于以下设置。

$("form").validate().settings.ignore

将其设置为“:hidden”,以便验证忽略所有隐藏字段。您可以做的是更改为忽略指定的选择器,如下所示。

$(function(){
    $("form").validate().settings.ignore = ":hidden:not([id*=Validate_cart])";
});

然后它应该触发远程验证