我一直在研究这个asp.net表单,让jquery验证/不引人注目的验证工作,但已经放弃了我的google.com技能,还没有找到答案。
我似乎无法在单选按钮上进行jquery验证。任何帮助都会非常苛刻
asp.net代码:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-default">
@Html.RadioButtonFor(x => x, true, new Dictionary<string, object> { { "id", "IsMonetary" }, { "data-val", "true" } })
Add $ amount
</label>
<label class="btn btn-default">
@Html.RadioButtonFor(x => x, false, new Dictionary<string, object> { { "id", "IsNotMonetary" } })
Not this time jackson
</label>
</div>
@Html.ValidationMessageFor(x => x)
输出html:
<form action class="form-horizontal" id="recipientForm" role="form" novalidate="novalidate">
<div class="form-group">
<div class="btn_group" data-toggle="buttons">
<label class="btn btn-default">
<input id="IsMonetary" name="IsMonetary" type="radio" data-val="true" data-val-required="*" value="true">Add $ award</label>
<label class="btn btn-default">
<input id="IsNotMonetary" name="IsMonetary" type="radio" value="false" data-val-required="*">Not this time</label>
</div>
<span class="field-validation-valid" data-valmsg-for="IsMonetary" data-valmsg-replace="true"></span>
</div>
<input id="derp" name="derp" data-val="true" data-val-required=”Required” />
<span data-valmsg-for="derp" data-valmsg-replace="true"></span>
<input type="submit" class="btn btn-primary pull-right loading" value="Submit" />
</form>
以下是小提琴:JSFiddle *请注意外部文件,如果您想查看它们,请查看:Here (github link)
答案 0 :(得分:0)
您的代码:
$('form').validate();
$('form').on('submit', function () {
console.log($(this).validate());
console.log("valid: " + $(this).valid());
//return false;
});
您不需要提交处理程序。
jQuery Validate插件......
a)捕获提交按钮的click
,
b)捕获触发验证的其他鼠标事件,
c)进行验证,
d)如果无效则阻止提交,
e)然后允许提交(如果有效)
...所有自动。
基本用法:http://jsfiddle.net/xjXhN/
此外,.validate()
是插件的初始化方法,只在页面加载时调用一次。 unobtrusive
插件和ASP是否已自动处理此初始化?