を回避することができます。一般的に、フォームのすべての入力検証が成功した場合にのみsignIn()メソッドが呼び出されるようにする方法はありますか?HTML5の電子メールの検証は、私は次のコードを持っているjsの呼び出し
答えて
$pristine
を使用してフォームが空であるかどうかを確認し、$invalid
を使用してフォームにデータが入力されているかどうかを確認します(無効な値などが考えられます)。
<form name="myForm">
<input type="email" name="email" ng-model="email" required />
<button ng-click="signIn()" ng-disabled="myForm.$invalid || myForm.$pristine">Save</button>
</form>
フォームが有効になるまで送信ボタンが無効(クリック不可)になります。
EDIT
HTML5の検証でのみ検証するために、フォームにname
属性を追加し、あなたが提出時に、それの有効性にアクセスすることができます。
<form name="myForm">...</form>
$scope.signIn = function(){
if ($scope.myForm.$valid){
// do sign in logic here
}
}
は多分ロジックをインライン化
<input type="submit" value="Sign in" ng-click="myForm.$valid && signIn()">
のでsignIn
はBのみになります(それが動作するかどうか)あなたの送信ボタンを上最初の部分が真であれば呼び出されます。
EDIT 2
AngularJS docs hereで見つけた情報をもとに、あなたにも、次の試みることができる?:
<form name="myForm">
<input type="email" name="email" ng-model="email" required />
<button ng-click="signIn()" ng-disabled="signIn()">Save</button>
</form>
$scope.signIn = function() {
if ($scope.myForm.email.$error.required) {
// ...
}
};
現在$scope.myForm.email.$error.required
構文アプローチを以下の通りです。
$scope.myForm
または$scope.myForm.email
を記録して、値を変更したときの結果を確認してください。
上記のコードは、ユーザーがフォームに正しく記入するまで[送信]ボタンを無効にしますが、HTML5の検証エラーはフォームの送信時にのみ表示されます。送信ボタンを無効にするとここで正しいことはありません – user2713255
HTML5検証のみを使用してもよろしいですか?カスタムエラーメッセージとデザインを提供してみませんか? HTML5検証は、現在組み込まれていない検証を追加する場合に制限します。さらに、それらのスタイルを変更したり、エラーメッセージを編集することはできません。しかし、それがあなたが望むものなら、私は解決策を考え出すことができます。 – Lansana
私は本当にカスタマイズされたメッセージやデザインは必要ありません.HTML5の検証がパスした後にjsが呼び出されるようにする必要があります。私の要件はここではかなり制限されているので、ここでホイールを再開発することを避けて努力と時間を節約しようとしています – user2713255
- 1. jQueryのvalidateJsは、私は、次のjQueryの検証コードを持っている第一Ajax呼び出し
- 2. React.jsとHTML5電子メールの検証
- 3. 呼び出し解決機能は、私は次のコードを持っている
- 4. jQueryの検証、私は次のjQueryの検証プラグインを持っている複数の電子メールアドレスに
- 5. 検証、電子メール、私はこのコードを持っている特定のドメインに
- 6. 検証は、私は私のXAMLで、次のコード持って
- 7. JSのdocument.createElementは、私は次のコードを持っている
- 8. メール入力フォームの検証は、私は、ブートストラップを使用して電子メールの入力のために、このコードを持っているウィンドウ
- 9. レールに私は電子メールのテンプレートを持っている
- 10. SQL Serverの私はテーブルを持っている電子メール
- 11. メソッド呼び出しのURLのparamsは角JSに存在し、私は次の要件を持っている
- 12. 私は次のコードを使用して呼び出されたListViewウィジェット持っ
- 13. は、私は次のコードsnipetを持っているJS
- 14. は、私は、次のメソッド呼び出しが持っているJavaの
- 15. 待ちは、私は、次のAjax呼び出しを持っている
- 16. Androidの電子メールの検証とFirebaseの電子メールの検証
- 17. PHP - 電子メールの検証
- 18. HTML電子メールの検証?
- 19. 電子メールの検証:JavaScript
- 20. preg_match電子メールの検証。
- 21. は、私は次のようにAJAX呼び出しを持っているAJAX呼び出し
- 22. 検証は、私は次のエラーを持っている
- 23. HTML5パターン正規表現は、これは、jQueryの検証ライブラリでは動作しない私の正規表現のコードで電子メールの検証
- 24. Ajax呼び出しは、私は、次の.htmlのコードを持っている本当の価値
- 25. 呼び出しスーパーは、私はこのコードを持っているクラス
- 26. マングース非同期スキーマ検証は、私は私の「タイムゾーン」フィールドを検証し、次のコードを持って
- 27. RSpecのモック:モック/私はこのコードを持っているメソッド呼び出し
- 28. 電子メールの検証は常に失敗しています
- 29. 私は、次の表を持っている同じ証券コード
- 30. PHP電子メールIBM電子メールのみの検証(ワールドワイド)
代わりに、フォームの送信イベントにハンドラをアタッチしないのはなぜですか? – canon