我可以用jquery触发我的Html.ValidationMessageFor并让它显示我在JQuery中定义的一些字符串吗?

时间:2015-08-12 22:58:51

标签: javascript jquery asp.net-mvc validation

如果我的asp.net mvc应用程序中有一个名为search的文本字段的验证标记,我是否可以使用jquery / javascript插入它,以便在执行某些逻辑时触发它?我该怎么做?

它看起来像这样

@Html.TextBox("SearchQuery", other stuff here, other)
@Html.ValidationMessageFor("SearchQuery")

假设我想触发验证消息以显示是否发生

$('form').submit( function (e) {
  e.preventDefault(e);
  var results = GetLocation();
  if (results) {
    this.submit();  
  } else {
    // trigger validation message and display "can't find results"
    }
});

请注意,我认为我不需要在此验证,我只想显示一条消息,如果我确认了验证消息,那么

1 个答案:

答案 0 :(得分:0)

据我所知,对于来自服务器的自定义消息,您需要将对象发送到服务器,然后从中获取响应。

您可以使用ajax调用执行它,例如:

$.ajax({
        url : 'example.com',
        type: 'POST',
        data : results,
        success:function(datafromserver)     
        {                 
 $('.resultState').html(datafromserver);
         }    
});

如果首先在客户端进行验证然后发送(并在服务器中再次检查),那么另外一件事就是记住,如果getLocation函数返回任何内容(例如字符串,对象等等),则var结果总是为true所以在这种情况下用console.log打印它,看看它是否是一个对象(例如:data.x === none或'没有坐标'只是正确评估它,你可以避免ajax。

希望有所帮助! 此致