お遊びを離れ、何かやろうとすると直ぐにカスタムバリデートが必要になるので、そのやり方。 1.3から簡単になったらしいが、その前を知らないので、感動は薄い。 普通?のバリデーションに加え、サーバを非同期で見に行くバリデーションも作れる。ユーザーの一意性チェックなどには重宝するだろう。 やること nameには、普通?のバリデーションんを書けている(全部小文字じゃないとだめ) nicknameはサーバに問合せ、ユニークかどうかをチェックする(サーバはokかngを返すイメージ) ポイントと課題 非同期のバリデーションはngModel.$asyncValidatorsを使うことで実現できる。また、全部入力時に初めて評価したいため、ng-model-options="{updateOn: 'blur'}"により、フォーカスが外れた時にチェックがかかるようにしている(が、そうならない)。 ng-mode
![AngularJS(1.3)でカスタムバリデーション - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/983daed308ea922f4f8b73699325f8cfa9118118/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QW5ndWxhckpTJTI4MS4zJTI5JUUzJTgxJUE3JUUzJTgyJUFCJUUzJTgyJUI5JUUzJTgyJUJGJUUzJTgzJUEwJUUzJTgzJTkwJUUzJTgzJUFBJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJUIzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1iNjU0MjllNTY5YjUxOTY5YWE3ZTM2NDg3ZGVhMTZlMw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB6YWJ1cm8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWQ2YzNjOTM0MGU3NDcxMGM3NGQyNDZiMjhlNTA0MTEy%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Da07f83c96cc59df7edf378450beb6a6d)