AngularJs-无法读取属性'$有效';未定义的

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

我正在阅读如何处理表单是有效的还是无效的,我不明白为什么我的代码不能正常工作

我的Html表单

 <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>