jQuery验证不会没有错误

时间:2013-11-20 20:25:33

标签: javascript jquery jquery-validate

我没有说明为什么我的代码不起作用,控制台中没有错误消息。 规则内部验证中的属性名称是否引用输入表单的id或名称? 该库正确包含在一般的html模板中,$("#form").validate内的警报工作正常。

使用Javascript:

$(document).ready(function()
{
  $("#form").validate(alert("ciaoo"), //this alert works fine
  {
    rules:
    {
      nome: "required"
    },
    messages:
    {
      nome: " Inserisci il tuo nome!"
    }
  });
});

HTML:

<form id="form" action="Inserisci_Utente" method="post" >
    <fieldset>  

        <legend>Registrazione Utente</legend>
        <#if (messaggio??)>
        <#if (success??)>
        <div class="successo"><img src="img/success.png"/> <span>Operazione completata con successo.</span>
            <ul>

                <#list messaggio as mex>
                <li>${mex?html?lower_case?cap_first?trim} </a> </li>   
                </#list>

            </ul>
        </div>

        <#else>
        <div class="errore"><span></span>
            <ul>

                <#list messaggio as mex>
                <li>${mex?html?lower_case?cap_first?trim} </a> </li>   
                </#list>

            </ul>
        </div>
        </#if>
        </#if>
        <div class="fieldset">
            <fieldset> 
                <label>Nome</label>
                <input type="text" id ="nome" name="nome"/>
                <label>Cognome</label>
                <input type="text" name="cognome" />
            </fieldset> 
            <fieldset> 
                <label>Mail</label>
                <input type="text" name="mail" class="mail"/>
            </fieldset> 
        </div>
        <div class="fieldset">
            <fieldset> 
                <label>Username</label>
                <input type="text" name="username"/>
            </fieldset> 
            <fieldset> 
                <label>Password</label>
                <input type="password" name="pass1"/>
                <label>Ripeti la password</label>
                <input type="password" name="pass2"/>
            </fieldset> 
            <fieldset>
                <label>Ruolo</label>
                <input type="radio" name="ruolo" value="amministratore"/>Amministratore
                <input type="radio" name="ruolo" value="organizzatore"/>Organizzatore<br>
            </fieldset>
        </div>
        <fieldset>
            <input type="submit" name="registra" value="Registrami"/>
        </fieldset>
    </fieldset> 
</form>

1 个答案:

答案 0 :(得分:0)

正如另一个答案所说,你的alert()正在打破它。

您不能只将随机JavaScript代码插入.validate()方法。您只能在{ key: value }方法内放置格式为.validate()对的插件的指定选项。

$('#yourform').validate({  // this is the initialization of the plugin
    // only defined plugin options as key:value pairs allowed in here
});

通过在alert()内部粘贴.validate(),您实际上会禁用该插件初始化。

否则,您的代码正常运行:http://jsfiddle.net/P6uts/

请参阅文档:http://jqueryvalidation.org/validate/