Javascript 控制器如何知道作用域是有效的

Javascript 控制器如何知道作用域是有效的,javascript,angularjs,validation,Javascript,Angularjs,Validation,我对角度验证有点困惑。所有验证似乎都绑定到表单。但是,如果控制器需要知道模型是否有效,您会怎么做 我已经做了很多例子: HTML 因此,我希望我的valid()函数根据模型中的数据是否有效返回true或false。我尝试了journeyForm.$valid,$scope.journeyForm.$valid和$scope.journeyFormDepartureAirport.$valid。这些都不管用 我不知道如何从我的控制器中检查$valid。尤其是因为我的表单数量可变 控制员是否也应该了

我对角度验证有点困惑。所有验证似乎都绑定到表单。但是,如果控制器需要知道模型是否有效,您会怎么做

我已经做了很多例子:

HTML 因此,我希望我的
valid()
函数根据模型中的数据是否有效返回true或false。我尝试了
journeyForm.$valid
$scope.journeyForm.$valid
$scope.journeyFormDepartureAirport.$valid
。这些都不管用

我不知道如何从我的控制器中检查
$valid
尤其是因为我的表单数量可变

控制员是否也应该了解表格?在视野中


我认为问题在于验证都驻留在视图中。我猜angular没有无效模型的概念。这只是数据。但是,这对我来说是个问题。我想知道,在我在控制器中执行操作之前,模型是否满足我的所有标准(添加到视图中,例如
ng required

更清楚地解释关于
$valid
使用的注释

<form name="myform" >
<input type="text" name="input1" ng-required="true"/>

 ....

更清楚地解释
$valid

<form name="myform" >
<input type="text" name="input1" ng-required="true"/>

 ....

更清楚地解释
$valid

<form name="myform" >
<input type="text" name="input1" ng-required="true"/>

 ....

更清楚地解释
$valid

<form name="myform" >
<input type="text" name="input1" ng-required="true"/>

 ....

我想起来了,实际上罗布帮了不少忙。我的问题是表格的位置:

<li ng-repeat="journey in inboundJourney">
     <ng-form name="journeyForm">
i、 e.表格不在
ng repeat
范围内,然后按照Rob的建议执行

$scope.valid = function() {
    return $scope.journeyForm.$valid; /* how to return $valid for 'myform' form */
}
这一切都奏效了



稍微抱怨一下,这并没有抱怨无效的语法。从我有限的经验来看,这是一个永恒的问题,它有一个令人讨厌的习惯,就是默默地失败Needz-moar错误pleaz

我弄明白了,Rob实际上帮了不少忙。我的问题是表格的位置:

<li ng-repeat="journey in inboundJourney">
     <ng-form name="journeyForm">
i、 e.表格不在
ng repeat
范围内,然后按照Rob的建议执行

$scope.valid = function() {
    return $scope.journeyForm.$valid; /* how to return $valid for 'myform' form */
}
这一切都奏效了



稍微抱怨一下,这并没有抱怨无效的语法。从我有限的经验来看,这是一个永恒的问题,它有一个令人讨厌的习惯,就是默默地失败Needz-moar错误pleaz

我弄明白了,Rob实际上帮了不少忙。我的问题是表格的位置:

<li ng-repeat="journey in inboundJourney">
     <ng-form name="journeyForm">
i、 e.表格不在
ng repeat
范围内,然后按照Rob的建议执行

$scope.valid = function() {
    return $scope.journeyForm.$valid; /* how to return $valid for 'myform' form */
}
这一切都奏效了



稍微抱怨一下,这并没有抱怨无效的语法。从我有限的经验来看,这是一个永恒的问题,它有一个令人讨厌的习惯,就是默默地失败Needz-moar错误pleaz

我弄明白了,Rob实际上帮了不少忙。我的问题是表格的位置:

<li ng-repeat="journey in inboundJourney">
     <ng-form name="journeyForm">
i、 e.表格不在
ng repeat
范围内,然后按照Rob的建议执行

$scope.valid = function() {
    return $scope.journeyForm.$valid; /* how to return $valid for 'myform' form */
}
这一切都奏效了



稍微抱怨一下,这并没有抱怨无效的语法。从我有限的经验来看,这是一个永恒的问题,它有一个令人讨厌的习惯,就是默默地失败Needz moar错误请使用
$watch

$scope.valid = false;

$scope.$watch('inboundJourney', function(){
    var isValid = false;
    //set isValid depending on inboundJourney
    $scope.valid = isValid;
});
然后将其设置为显示条件

<span ng-show="valid">this is all valid</span>
这些都是有效的

你能用一块
$watch

$scope.valid = false;

$scope.$watch('inboundJourney', function(){
    var isValid = false;
    //set isValid depending on inboundJourney
    $scope.valid = isValid;
});
然后将其设置为显示条件

<span ng-show="valid">this is all valid</span>
这些都是有效的

你能用一块
$watch

$scope.valid = false;

$scope.$watch('inboundJourney', function(){
    var isValid = false;
    //set isValid depending on inboundJourney
    $scope.valid = isValid;
});
然后将其设置为显示条件

<span ng-show="valid">this is all valid</span>
这些都是有效的

你能用一块
$watch

$scope.valid = false;

$scope.$watch('inboundJourney', function(){
    var isValid = false;
    //set isValid depending on inboundJourney
    $scope.valid = isValid;
});
然后将其设置为显示条件

<span ng-show="valid">this is all valid</span>
这些都是有效的

Ang使用“脏”表示“已更改”的型号?-您将什么定义为有效模型有数据吗?或者模型有坏数据,正如其他东西/模式所定义的??模型有坏数据,它不会根据我的验证规则进行验证。也就是说,视图中所需的ng已断开$valid是表单name=“myform”上的一个方法。如果($scope.myform.$valid)—这依赖于设置了ng验证属性的表单输入(ng required=“true”…)—很抱歉链接并运行,但这很好—Ang对“更改”的模型使用“脏的”?-您将什么定义为有效模型有数据吗?或者模型有坏数据,正如其他东西/模式所定义的??模型有坏数据,它不会根据我的验证规则进行验证。也就是说,视图中所需的ng已断开$valid是表单name=“myform”上的一个方法。如果($scope.myform.$valid)—这依赖于设置了ng验证属性的表单输入(ng required=“true”…)—很抱歉链接并运行,但这很好—Ang对“更改”的模型使用“脏的”?-您将什么定义为有效模型有数据吗?或者模型有坏数据,正如其他东西/模式所定义的??模型有坏数据,它不会根据我的验证规则进行验证。也就是说,视图中所需的ng已断开$valid是表单name=“myform”上的一个方法。如果($scope.myform.$valid)—这依赖于设置了ng验证属性的表单输入(ng required=“true”…)—很抱歉链接并运行,但这很好—Ang对“更改”的模型使用“脏的”?-您将什么定义为有效模型有数据吗?或者模型有坏数据,正如其他东西/模式所定义的??模型有坏数据,它不会根据我的验证规则进行验证。也就是说,视图中所需的ng已断开$valid是表单name=“myform”上的一个方法。如果($scope.myform.$valid)-这依赖于设置了ng验证属性的表单输入(ng required=“true”…)-很抱歉链接并运行,但这真是太棒了,@Likwid。这是我可以考虑的另一个选择。这是我可以考虑的另一个选择。这是我可以考虑的另一个选择。这是我可以考虑的另一个选择。