javascript - jQuery validate.js only email is not being validated -
i using validate.js
validate sign-up form. works fine other fields don't understand why not affect email
field.
here validation script:
<script type="text/javascript"> $(document).ready(function(){ $("#signup").validate({ errorelement: 'div', rules:{ "display_name":{ required: true, minlength: 5 }, "user_email":{ required:true, email: true, remote: { url: "user/checkemail.php", type: "post" } }, "password":{ required:true, minlength:6 }, "confirm_password":{ required:true, equalto: "#password" } }, messages: { display_name:{ required: "please provide desired display name", minlength: "your display name must @ least 5 characters long" }, user_email:{ required: "please provide valid email", email: "this not valid email!", remote: "email in use!" }, password: { required: "please provide password", minlength: "your password must @ least 6 characters long" }, confirm_password: { required: "please provide confirm password", equalto: "please enter same password above" } } }); }); </script>
i have tried different ways make work doesn't. here form:
<form class="form-horizontal" name="signup" id="signup" method="post" action="users/register_submit.php" enctype="multipart/form-data"> <fieldset> <!-- form name --> <legend>sign up</legend> <!-- text input--> <div class="form-group"> <label class="col-md-4 control-label" for="name">display name</label> <div class="col-md-6"> <input id="display_name" name="display_name" type="text" placeholder="" class="form-control input-md" required> </div> </div> <!-- text input--> <div class="form-group"> <label class="col-md-4 control-label" for="email">email</label> <div class="col-md-6"> <input id="email" name="user_email" type="email" placeholder="example@abc.com" class="form-control input-md" required> </div> </div> <!-- password input--> <div class="form-group"> <label class="col-md-4 control-label" for="password">password</label> <div class="col-md-6"> <input id="password" name="password" type="password" class="form-control input-md" required> <span class="help-block">at least 6 characters</span> </div> </div> <!-- confirm-password input--> <div class="form-group"> <label class="col-md-4 control-label" for="confirm_password">confirm password</label> <div class="col-md-6"> <input id="confirm_password" name="confirm_password" type="password" placeholder="" class="form-control input-md" required> </div> </div> <!-- button --> <div class="form-group"> <label class="col-md-4 control-label" for="submit"></label> <div class="col-md-4"> <input id="submit" name="submit" type="submit" class="btn btn-primary"> </div> </div> </fieldset> </form>
please me. thanks
edit-update here code checkemail.php
. have tested , working fine if test separately.
<?php require_once("../app/utilities/databaseutility.php"); require_once("../app/helpers/databasehelper.php"); function isemailexists($email){ $res = array(); $db = new databaseutility('apex'); $dbh = new databasehelper; $db->connect(); $col_array = array("user_email"); $values = array($email); if( $statment = $db->preparestatment('select '.$dbh->getcolumns($col_array).' users user_email = '.$dbh->getplaceholders($col_array).'')){ $db->bindparam($statment, $dbh->getplaceholdersarray($dbh->getplaceholders($col_array)), $values, $dbh->getbindtypes($values)); $statment->execute(); $res = $statment->fetch(); if(!empty($res)){ if(in_array($email,$res)){ echo "false"; } else echo "true"; } else echo "true"; } else echo "someting wrong query"; $db->releaseresources(); } $requestedemail = $_request['email']; isemailexists($requestedemail); ?>
change id of email input to: user_email
edit: made fiddle: https://jsfiddle.net/66oxokta/ seems working fine. doesn't work @ solution?
user_email:{ required: "this works", email: "this works", remote: "didnt test this" },
Comments
Post a Comment