无法阅读属性&to toLowerCase'未定义的

时间:2016-08-03 19:26:09

标签: javascript jquery angularjs

我遇到了一个我尝试使用的角度错误消息。我正在努力确保确认电子邮件的不区分大小写不适用于初始电子邮件地址。

在我的控制器中,我使用的是toLowerCase()过滤器....除了控制台无法识别这个并且给我一条错误消息的事实。

我的前端代码是

input-md{ type: "email", "ng-model" => "vm.form.email_confirmation", required: true, 'must-match' => 'register_form["vm-form-email"]', 'match-case-insensitive' => true, 'ng-hide' => 'vm.form.validated_email', autocapitalize: 'off' }

和我的控制器,(最终问题出在哪里)

getMatchValue = ->
  match = matchGetter($scope)
  if (angular.isObject(match) and match.hasOwnProperty('$viewValue'))
    match = match.$viewValue
  match

$scope.$watch getMatchValue, ->
  ctrl.$$parseAndValidate()
  return

ctrl.$validators.mustMatch = ->
  match = getMatchValue()

  if $attrs.matchCaseInsensitive
    ctrl.$viewValue.toLowerCase() is match.toLowerCase()
  else
    ctrl.$viewValue is match
return

如果有人可以看看这个,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

您应该确保您的对象不是undefined,您可以使用angular.isDefined

确保您的对象不是undefined

if (angular.isDefined(ctrl.$viewValue)){
    //Your Code
}