validations = []
isEmpty = (string) ->
string is '' or string is undefined or string == null
createValidation = (scopeVariable, expected, responseText, inverse) ->
if inverse == undefined
inverse = false
if !inverse
returningValidation = ->
if scopeVariable isnt expected
$scope.response.text = responseText
$scope.response.class = 'text-danger'
return false
true
else
returningValidation = ->
if scopeVariable is expected
$scope.response.text = responseText
$scope.response.class = 'text-danger'
return false
true
returningValidation
validateCredentials = ->
validated = true
validations.map (validate) ->
if !validate()
validated = false
validated
$scope.register = ->
if validateCredentials()
#Account.register $scope.form, (response) ->
#if response.user_created is true
$scope.response.text = '...'
$scope.response.class = 'text-success'
validations.push createValidation $scope.form.termsChecked, true, '...'
validations.push createValidation $scope.form.password, $scope.form.passwordRepeat, '...'
inverse = true
validations.push createValidation $scope.form.password, undefined, '...', inverse
validations.push createValidation $scope.form.password, '', '...', inverse
我有一个AngularJS应用程序,我正在创建一个表单验证。每种验证都有一个函数被创建。它应该通过$scope.form.input
对象到每个输入。但它看起来正在被价值传递。我真的不知道它是如何在这种JS闭包中起作用的。通过引用返回的函数传递对象
任何类型的信息将是有益的。
你用1个参数声明你的验证函数,但用0参数调用它。那是故意的吗? (虽然我不太熟悉咖啡标题,所以我可能会误读它) –
对不起,这不是它应该是。这是我,感到沮丧。现在是对的。 – Hotwer