登録フォームを検証したいが、すべてのテキスト入力に対してデフォルト値がある。 jquery validate pluginを使用してすべての可能な方法を試してみました。それを使用する方法を理解するのは難しい(私はjsに初心者です)私がやりたいことは、デフォルト値を無視してフォームを検証することです。私のフォームは、私は、このフォームのコードのこの部分を使用していることフォーム検証
<from id="reg">
<input class="part1 default" type="text" name="fname" id="fname" value="Adınız (First Name)"/>
<input class="part1 default" type="text" name="mname" value="Atanızın adı (Middle name)"/>
</form>
var defaultValues = {
'fname': 'Adınız',
'mname': 'Atanızın adı',
'lname': 'Soyadınız',
'phone': 'Telefon',
'email': 'Email',
'pwd':'Şifrə',
'region':'Rayon',
'school':'Məktəb',
'login':'Istifadəçi adı',
'class':'Sinif',
'subject':'Fənnin adını daxil edin',
'dob': 'Date of Birth'
};
$('input').live('focus', function() {
var el = $(this);
if (el.hasClass('default')) {
el.removeClass('default').val('');
}
if (el.attr('id') === 'dob') {
$(this).mask('99.99.9999', {placeholder:' '});
}
});
$('input').live('blur', function() {
var el = $(this);
var name = el.attr('name');
// Really we only want to do anything if the field is *empty*
if (el.val().match(/^[\s\.]*$/)) {
// To get our default style back, we'll re-add the classname
el.addClass('default');
// Unmask the 'dob' field
if (name == 'dob') {
el.unmask();
}
// And finally repopulate the field with its default value
el.val(defaultValues[name]);
}
});
/*validation*/
$('#reg').submit(function (event)
{
if ($('#fname').val() == defaultValues['Adınız'] || $.trim($('#pwd').val()) == '')
{
alert('Please enter the name!');
return false;
}
else
{
if ($('#fname').val().length < 2)
{
alert('The name must be >2 letters!');
return false;
}
}
});
のように見えるあなたが見るように最後の部分は、検証です。私はそれについてのfeqの質問を持っています
- 可能性のあるすべてのケースについては、私たちは書いています。何があっても 私たちはプロセスを提出し続けたいですか? の場合は新しく書く必要がありますか?「trueを返しますか?
- 私はこのコードを使用しましたが、いつも同じエラーが表示されます メッセージ "パスワードを入力してください!"すべての入力フィールドが であっても配列のエラーを警告するためにこのコードを変更するにはどうすればよいですか? たとえば、パスが間違っていて、名前フィールドが満たされていないと、スクリプトは で一度に2つのエラーを表示します。私は論理についても考えました。例えば、すべての場合 時には、あるケースが真の場合、エラー メッセージを配列にプッシュし、すべてのケースのチェックが終了すると、エラー 配列を示します。しかし、それを実現することはできません。 電子メールフィールドと生年月日フィールド(「19.16.2010」のように見える)の検証方法を教えてください。
なぜフォームを検証するときに値を無視したいですか?フィールドが持つ価値のあるものでフォームを検証できないのはなぜですか?なぜフィールドがデフォルト値を持っているかどうかをチェックする必要がありますか? – Kishore
問題をより一般的なケースに還元して、それを記述するのに必要な最小限のコードを作成してください。 – hakre
笑))私のフォームのコードが見えましたか? –