Jquery 基于MVC的无干扰验证方法
我试图在MVC视图上运行一个方法,但不引人注目的验证返回了一个错误。我当前的脚本根本没有启动。我试图只在返回错误时运行某个方法 我尝试了Jquery 基于MVC的无干扰验证方法,jquery,asp.net-mvc,unobtrusive-validation,Jquery,Asp.net Mvc,Unobtrusive Validation,我试图在MVC视图上运行一个方法,但不引人注目的验证返回了一个错误。我当前的脚本根本没有启动。我试图只在返回错误时运行某个方法 我尝试了$(“#submitButton”)。单击和类似的方法,但没有效果 是否仅从内联脚本执行此操作?验证是否有任何触发器 <fieldset class="step"> <legend> Contact: </legend>
$(“#submitButton”)。单击
和类似的方法,但没有效果
是否仅从内联脚本执行此操作?验证是否有任何触发器
<fieldset class="step">
<legend>
Contact:
</legend>
<p>Let us know how we can contact you with your quote, or anything else we may need from you coming up to your ski trip. </p>
<div style=" float: left;">
<table>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
Full Name*
</td>
<td>
@Html.DropDownListFor(x => x.Title, Model.Titles, "...........", new { style = "width:70px; padding: 5px;" })
@Html.TextBoxFor(x => x.FirstName, new { style = "width:115px; padding: 5px;" })
@Html.TextBoxFor(x => x.LastName, new { style = "width:115px; padding: 5px;" })
</td>
</tr>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
City*
</td>
<td>
@Html.TextBoxFor(x => x.City, new { style = "width:320px; padding: 5px;" })
</td>
</tr>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
Postcode*
</td>
<td>
@Html.TextBoxFor(x => x.Postcode, new { style = "width:320px; padding: 5px;" })
</td>
</tr>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
Email*
</td>
<td>
@Html.TextBoxFor(x => x.Email, new { style = "width:320px; padding: 5px;" })
</td>
</tr>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
Telephone*
</td>
<td>
@Html.TextBoxFor(x => x.Telephone, new { style = "width:320px; padding: 5px;" })
</td>
</tr>
<tr style="height: 50px; padding: 5px;">
<td style="width: 187px;">
Preferred Time of Contact
</td>
<td>
@Html.TextBoxFor(x => x.PreferredTime, new { style = "width:200px; padding: 5px;" })
</td>
</tr>
</table>
</div>
<input id="submitButton" type="image" alt="Submit" src="/images/global/submit_button.gif" />
</fieldset>
返回错误是什么意思?您看到了什么以及发生了什么?如果验证失败,那么我希望能够运行一个方法您可以像这样从jquery调用检查:var controls=$(“#divid”).find(“.class”);$。每个(控件、函数(索引、项){$(“#form1”).validate().element($(this));if($(this.valid){//skip it maybe}其他{//做点什么,如果需要甚至是ajax调用}单击“提交”按钮已经触发了验证。我需要添加额外的功能,以便在验证失败时使某些内容成为焦点。我不能使用onclick,因为由于验证,页面将不允许我提交表单,因此我不能运行onclick,这是使用普通验证的方式,而不是不引人注目的方式。默认情况下,MVC触发验证正在检查必需的属性,这是一种不引人注目的方法。这是我发现的捕获任何单个错误并对此进行处理的方法,例如,关注该字段$(this).focus(),或显示消息或其他任何内容。
$(function () {
$("form").bind("invalid-form.validate", function () {
alert('invalid!');
});
});
var controls = $("#divid").find('.class');
$.each(controls, function (index, item) {
$("#form1").validate().element($(this));
if ($(this).valid) {
//skip it maybe
} else {
//do something, even an ajax call if need be
}