AngularJs-无法读取属性'$有效';未定义的
我正在阅读如何处理表单是有效的还是无效的,我不明白为什么我的代码不能正常工作 我的Html表单AngularJs-无法读取属性'$有效';未定义的,angularjs,Angularjs,我正在阅读如何处理表单是有效的还是无效的,我不明白为什么我的代码不能正常工作 我的Html表单 <form name="signupForm" ng-submit="submitRegistration(signup)" ng-init="signup = {}" novalidate> <input type="email" placeholder="Email" name="email" ng-model="signup.email"required></in
<form name="signupForm" ng-submit="submitRegistration(signup)" ng-init="signup = {}" novalidate>
<input type="email" placeholder="Email" name="email" ng-model="signup.email"required></input>
<input type="password" placeholder="Password" name="password" ng-model="signup.password"required></input>
<button type="submit" class="button button-block button-balanced">
Registrarme!
</button>
</form>
我尝试了$scope.signupForm.$valid和signupForm.$valid。。。两者我都没有定义。
如何在控制器端执行此操作
编辑这是我的完整代码(是注册表,我使用的是爱奥尼亚框架)
BuenjugadorApp
注册Facebook
注册con Nosotros
“Ocurrióun错误!请给我一个管理员。
“托多斯·洛斯·坎波斯·德本·塞尔·completados!
“这不是巧合!
“这是德马西亚多·拉加的作品,没有12克拉的超级作品!”!。
电子邮件
名义
阿佩利多
康瑟斯尼娜
La contraseña debe ser mayor o igual a 6克拉。
雷佩蒂尔·康瑟斯尼娜
伊达
特莱福诺酒店
德比·安格拉尔·图努梅罗(Debes Ingrear tuúmero)是一位年轻人。
装备
{{equipo.nombre}}
你要什么?
{{posicion.nombre}
德隆德求救?
{{prov}}
城市?
{{ciudad}
登记员!
可能重复的事实上,这看起来是两个打字错误;您的表单名为signupForm
,但您正在将signup
传递给您的控制器,并且$scope。signupForm
是无关紧要的,因为您已经可以访问signupForm
@Makoto,即使该问题的答案适用于此处,问题本身也是不同的。所以它不应该被标记为dupe,因为它是一个不同的问题。@frosty:这就是将问题标记为dupe的字面定义(和要点)。请参阅以了解更多上下文。您的代码运行非常良好:。所以问题在于你没有给我们展示什么。张贴一个完整的,最小的例子再现问题。
$scope.submitRegistration = function(signupForm){
debugger;
$scope.msg = {};
if ($scope.signupForm.$valid){
//something}else{
console.log('INVALID')
}
<ion-view view-title="Registrate!">
<ion-content class="padding">
<h1 class="general-title">BuenjugadorApp</h1>
<button class="button button-block facebook-button icon-left ion-social-facebook" ng-click="facebookSignup()">Registrate con Facebook</button>
<button class="button button-block button-balanced" ng-click="nosotros = true">Registrate con Nosotros</button>
<div class="error-notice" ng-if="msg.error">
<span>¡Ocurrió un error! Vuelve a intentarlo.</span>
</div>
<div class="error-notice" ng-if="msg.required">
<span>¡Todos los campos deben ser completados!</span>
</div>
<div class="error-notice" ng-if="msg.different_passwords">
<span>¡Las contraseñas ingresadas no coinciden!</span>
</div>
<div class="error-notice" ng-if="msg.too_big_password">
<span>¡Las contraseña es demasiado larga, no puede superar los 12 caracteres!.</span>
</div>
<br>
<div >
<form name="signupFormulario" ng-submit="submitRegistration(signupForm)" ng-init="signupForm = {}" novalidate>
<div class="list">
<label class="item item-input item-floating-label">
<span class="input-label">Email</span>
<input type="email" placeholder="Email" name="email" ng-model="signupForm.email"required>
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Nombre</span>
<input type="text" placeholder="Nombre" name="nombre" ng-model="signupForm.nombre"required>
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Apellido</span>
<input type="text" placeholder="Apellido" name="apellido" ng-model="signupForm.apellido"required>
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Contraseña</span>
<input type="password" placeholder="Contraseña" name="password" ng-model="signupForm.password"required>
</label>
<span class="advise">La contraseña debe ser mayor o igual a 6 caracteres.</span>
<label class="item item-input item-floating-label">
<span class="input-label">Repetir Contraseña</span>
<input type="password" placeholder="Repetir Contraseña" name="password" ng-model="signupForm.password_confirmation"required>
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Edad</span>
<input type="number" placeholder="Edad" name="edad" ng-model="signupForm.edad" min="10" max="99" required>
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Teléfono</span>
<input type="number" placeholder="Teléfono" name="telefono" max="999999999999999" ng-model="signupForm.telefono" required>
</label>
<span class="advise">Debes ingresar tu número para que los jugadores puedan contactarse mejor con vos.</span>
<label class="item item-input">
</label>
<label class="item item-input item-select">
<div class="input-label">
Tu Equipo
</div>
<select ng-model="signupForm.equipo2" ng-init="signupForm.equipo2 = {}" required>
<option ng-value="equipo" ng-repeat="equipo in equipos">{{equipo.nombre}}</option>
</select>
</label>
<label class="item item-input item-select">
<div class="input-label">
¿De qué jugás?
</div>
<select name="posicion" ng-model="signupForm.posicion" required>
<option ng-value="posicion.nombre" ng-repeat="posicion in posiciones">{{posicion.nombre}}</option>
</select>
</label>
<label class="item item-input item-select">
<div class="input-label">
¿De dónde sos?
</div>
<select name="lugar" ng-model="signupForm.provincia" ng-change="cambiovalor(signupForm.provincia)" required>
<option ng-value="prov" data-ng-repeat="(prov, ciudadesss) in complejos">{{prov}}</option>
</select>
</label>
<label class="item item-input item-select">
<div class="input-label">
¿Ciudad?
</div>
<select ng-disabled="!signupForm.provincia" ng-model="signupForm.ciudad" name="city" required>
<option ng-value="ciudad" data-ng-repeat="ciudad in ciudades">{{ciudad}}</option>
</select>
</label>
<button type="submit" class="button button-block button-balanced">
Registrarme!
</button>
<div class="centered">
<a ng-href="#/login">Ya tengo una cuenta.</a>
</div>
</div>
</form>
</div>
</ion-content>
</ion-view>