1

jQueryモバイルサイトにjQueryValidationプラグインを使用しています。検証は成功していますが、エラーメッセージは表示されていません。何が悪いのかを理解するのに助けが必要です。これが私のコードです。

<script language="javascript" type="text/javascript" >
    $(document).ready(function () {
        $("#LoginForm").validate();
    });
</script>




<form id="LoginForm" class="validate" action="~/Home/Search" method="get">
<ul data-role="listview" data-inset="true">
    <li data-role="list-divider"><div class="center-wrapper">Secure Login</div></li>

     <li data-role="fieldcontain">
        <label for="FirmKey">FirmKey</label>
        <input type="text" id="FirmKey" name="FirmKey" class="required" />
    </li>

    <li data-role="fieldcontain">
        <label for="UserName">User Name</label>
        <input type="text" id="UserName" name="UserName" class="required" />
    </li>

    <li data-role="fieldcontain">
        <label for="Password">Password</label>
        <input type="password" id="Password" name="Password" class="required" />
    </li>

    <li data-role="fieldcontain">
        <input type="submit" id="submit" value="LOGIN" />
    </li>
</ul>
</form>

CSS:

label.error {
    float: none; 
    color: red; 
    font-size: 16px;
    font-weight: normal;
    line-height: 1.4;
    margin-top: 0.5em;
    width: 100%;
    display: block;
    margin-left: 22%;
}

@media screen and (orientation: portrait){
    label.error { margin-left: 0; display: block; }
}
@media screen and (orientation: landscape){
    label.error { display: inline-block; margin-left: 22%; }
}
4

1 に答える 1

11

jquery.validation.unobtrusive スクリプトを含めると、チャンスを得る前にフォームが .validate() されます。.validate() を手動で呼び出して正しく機能させる前に、自動的に追加された検証オブジェクトをフォームから削除する必要があります...

    $("#theForm").removeData("validator")
    $("#theForm").removeData("unobtrusiveValidation");
于 2013-01-14T15:53:37.547 に答える