以ASP.net格式验证bootstrap 3单选按钮

时间:2013-11-18 16:29:02

标签: jquery asp.net twitter-bootstrap jquery-validate unobtrusive-validation

我一直在研究这个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)

1 个答案:

答案 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是否已自动处理此初始化?