나는 jquery fom 유효성 검사 플러그인을 사용하고 있는데, 내 관심사는 가입하는 동안 강제로 이미지 업로드가 아니지만 사용자가 이미지를 업로드 한 경우 이미지가 png,jpeg,jpg
유형 이어야한다는 것입니다 .
아래는 내 코드가 작동하지 않습니다.
setupFormValidation: function()
{ //form validation rules
$(".new_user").validate({
rules: {
"user[firstname]": "required",
"user[lastname]": "required",
"user[email]": {
required: true,
email: true
},
"user[password]": {
required: true,
minlength: 8
},
agree: "required",
"user[password_confirmation]": {
required: true,
minlength:8,
equalTo: "#user_password"
},
"user[avatar]": {
required: false,
accept:"jpg,png,jpeg,gif"
}
},
messages: {
"user[firstname]": "Please enter your firstname",
"user[lastname]": "Please enter your lastname",
"user[password]": {
required: "Please enter a password",
minlength: "Your password must be at least 8 characters long"
},
"user[password_confirmation]": {
required: "Please enter a confirm password",
minlength: "Your password must be at least 8 characters long",
equalTo: "Confirm Password doesn't match with Pasword"
},
"user[email]": {
required: "Please enter your email id"
},
"user[avatar]": {
accept: "Only jpeg, jpg are allowed..."
},
},
submitHandler: function(form) {
form.submit();
}
});
}
html :
<form method="post" accept-charset="UTF-8" action="/users"enctype="multipart/form-data" id="new_user" class="new_user" novalidate="novalidate">
<div class="required field">
<label> Name </label>
<input type="text" id="user_firstname" name="user[firstname]" placeholder="Firstname" autofocus="autofocus">
<input type="text" id="user_lastname" name="user[lastname]" placeholder="Lastname">
</div>
<div class="required field">
<label for="user_email">Email</label>
<input type="email" id="user_email" name="user[email]" value="">
</div>
<div class="required field">
<label for="user_password">Password</label>
<input type="password" id="user_password" name="user[password]" autocomplete="off">
<em>(8 characters minimum)</em>
</div>
<div class="required field ">
<label> Confirm Password </label>
<input type="password" id="user_password_confirmation" name="user[password_confirmation]" autocomplete="off">
</div>
<div class="field">
<label> Choose a profile image </label>
<input type="file" id="user_avatar" name="user[avatar]" accept="image/*" as="file">
</div>
<div class="actions">
<input type="submit" id="commit" value="Sign up" name="commit">
</div>
<br>
</form>
수락을 제거하고 확장을 추가하고 이것을 시도하십시오.
$("#new_user").validate({
rules: {
"user[firstname]": "required",
"user[lastname]": "required",
"user[email]": {
required: true,
email: true
},
"user[password]": {
required: true,
minlength: 8
},
agree: "required",
"user[password_confirmation]": {
required: true,
minlength:8,
equalTo: "#user_password"
},
"user[avatar]": {
required: false,
extension: "png|jpg|gif|jpeg"
}
},
messages: {
"user[firstname]": "Please enter your firstname",
"user[lastname]": "Please enter your lastname",
"user[password]": {
required: "Please enter a password",
minlength: "Your password must be at least 8 characters long"
},
"user[password_confirmation]": {
required: "Please enter a confirm password",
minlength: "Your password must be at least 8 characters long",
equalTo: "Confirm Password doesn't match with Pasword"
},
"user[email]": {
required: "Please enter your email id"
},
"user[avatar]": "Only jpeg, jpg are allowed...",
},
submitHandler: function(form) {
form.submit();
}
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다