タグのnameにカッコとか入ってると、変数名に直接出来ない。
<div ng-controller="LoginController as Login">
<form action="/login" id="loginForm" name="loginForm" method="post" novalidate>
<input type="text" id="loginId" name="form[loginId]" placeholder="Login ID"
required="true" ng-model="Login.loginId" value="" autofocus/>
<input type="password" id="loginPwd" name="form[loginPwd]"
placeholder="password" required="true" ng-model="Login.loginPwd" value=""/>
<button type="button"ng-click="Login.doLogin()">Sign in</button>
</form>
</div>
上記の場合、こんな風にはかけないので、
$scope.loginForm.form[loginId].$valid
こう書く。
$scope.loginForm['form[loginId]'].$valid