angularjsを使用して、英数字のみの入力が必要なテキストボックスでクライアント側の検証を行っています。テキストボックスが空のままであるか、英数字以外の文字が入力されている場合、submitform は必要な 'false' を JS に送信しますが、問題は、英数字以外の文字自体 (スコープ内) を渡さないことです。
JSP ファイル:
<form name="addressForm" method="post"
ng-submit="submitform(addressForm.$valid)" novalidate>
..
<input ng-model="address" type="text"
**ng-pattern**="/^[a-zA-Z0-9 ]*$/" required="true"/>
JS ファイル:
$scope.submitform= function(isValid){
var inputAddr = $scope.address;
alert(inputAddr); //coming as undefined
...
jsp の入力ボックス 'address' に英数字を入力すると、JS でのアラートでundefinedが返されます(おそらく、文字が非英数字であることをフィルタリングするパターンが原因です)。ng-pattern を削除すると、すべての入力が「期待どおり」であるかのように、submitForm が「true」を渡します。$scope.address にアクセスしたい理由は、「空」と「英数字以外」の検証で異なるエラー メッセージをチェックして評価し、表示するためです。
どんな助けでも大歓迎です!