2012-03-09 2 views
0

Мне нужно подтвердить следующую форму. Некоторые поля необходимы, однако в поле электронной почты должно быть включено подтверждение электронной почты. Я пробовал следующий код:Mainpulating Jquery подтверждают наличие ввода по мере необходимости и делают проверку по электронной почте

Примечание: если я вынимаю часть «правил», проверка выполняется во всех обязательных полях, однако мне нужно сначала проверить, есть ли значение frmUser-email input (обязательно), а затем если там есть значение, выполните проверку по электронной почте.

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#adduser").validate({ 

     rules: { 
      frmUser-email: { 
       required: true, 
       email: true 
      } 
     }, 
     errorClass: "my-error-class", 
      validClass: "my-valid-class", 
      groups: { 
       required1: "frmUser-username frmUser-password frmUser-secretword frmUser-secretwordprompt frmUser-usertype" 
     }, 
      errorPlacement: function(error, element) { 
      error.appendTo('#errorlabel') 
     } 

    }); 
}); 

<form id="adduser" name="adduser" method="post" action="?vars=<?php echo URLEncryptEncode('module=user&call=add-process',$urlp);?>"> 
<table border="0" cellspacing="0" cellpadding="0" class="forminput"> 
    <tr> 
    <td>User Login Name:</td> 
    <td><input name="frmUser-username" type="text" size="25" class="required"/></td> 
    </tr> 
    <tr> 
    <td>Password:</td> 
    <td><input name="frmUser-password" type="text" size="25" class="required"/></td> 
    </tr> 
    <tr> 
    <td>Secret Word:</td> 
    <td><input name="frmUser-secretword" type="text" size="25" class="required"/></td> 
    </tr> 
    <tr> 
    <td>Secret Word Prompt:</td> 
    <td><input name="frmUser-secretwordprompt" type="text" size="25" class="required"/></td> 
    </tr> 
    <tr> 
    <td>Telephone:</td> 
    <td><input name="frmUser-telephone" type="text" size="15"/></td> 
    </tr> 
    <tr> 
    <td>E-Mail:</td> 
    <td><input id="frmUser-email" name="frmUser-email" type="text" size="30"/></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td colspan="2"><input type="submit" value="ADD NEW USER" class="button" /></td> 
    </tr> 
    <tr> 
     <td></td> 
    <td><label class="errorlabel" id="errorlabel"></label></td> 
    </tr> 
</table> 
</form> 

Надеюсь кто-то может помочь .. Заранее спасибо

ответ

1

Во-первых, вы можете просто указать оба класса в вашем входе:

<input id="frmUser-email" name="frmUser-email" type="text" class="required email" size="30"/> 

Но если вы настроены на использование объекта правил, вам просто нужно указать fromUser-email, потому что - в середине делает его недействительным. Так что оставьте все остальное то же самое, но сделать это для объекта ваши правила:

rules: { 
     'frmUser-email': { 
      required: true, 
      email: true 
     } 
    } 

ли один или другой, и вы должны быть хорошо.

+0

Я знал, что это будет что-то простое. Благодаря! –