2016-08-18 16 views
1

でフィールドを必要と私はjQueryの検証プラグインによって検証されたフォームを持っています。フォームには1つのフィールド(articleTitle)と送信ボタンが含まれています。 articleTitleフィールドは、ユーザーがタイトルを入力してから送信できる場所です。jQueryの検証

この検証は機能していますが、ユーザーが10個のスペースを入力すると、有効であると考えられます。実際には、ユーザーが10桁のスペースを入力すると、まだ空白とみなされます。ユーザーがスペースだけを入力すると、空白とみなされ、このフィールドが必須であることをユーザーに知らせるようにするにはどうすればよいですか?

お知らせ:フィールドにスペースが含まれていてもよいです。ちょうどすべてのスペースではありません。

+0

スペースと9つのスペース文字以外の1文字を送信できますか?予想される入力は何ですか? – guest271314

+0

@ guest271314好ましくは、スペース以外の10文字が必要です。それはタイトルですので、一つだけの文字と9つのスペース – user2896120

+0

があってはならない[この同じ質問](http://stackoverflow.com/q/1827483/594235)の下に掲載11種類のソリューション&回避策があります。あなたが感じる場合はそうでない場合は、[jQueryの検証GitHubのページ]のようなプラグインは、ポストとのバグがある(https://github.com/jzaefferer/jquery-validation)。ありがとう。 – Sparky

答えて

1

スペースをトリム依存する関数を追加します。それは入力をトリミングし、必要なのでブランク入力を拒否します。

onkeyup: false, // this prevents validation on keyup for all fields 
... 
rules: { 
    articleTitle: { 
     required: { 
      depends: function() { 
       $(this).val($.trim($(this).val())); 
       return true; 
      }, 
     }, 
     minlength: 10 
    }, 
    ... 
}, 
... 
+0

これで、私はスペースを入力できません。ユーザーはスペースを入力する必要があります。空白だけを入力してフィールドを空にしたくないということです。 – user2896120

+0

'onkeyup:false'を追加すると、自動検証トリムを防ぐことができます。 – Jecoms

+0

'onkeyup:false'は単に' keyup'検証トリガを無効にします。 – Sparky