我是angularjs和im玩家的新手。Laravel和angularjs表單驗證
我在jQuery中遇到了一件事情,它更容易從laravel中檢索驗證錯誤消息json對象,並且角度我能夠,但我這樣做,並且我確定存在更有效的方法
我從
<div class="row">
<div class="col-lg-8">
<h5><?php echo Lang::get('auth.signup') ?></h5>
<div class="page-divider"></div>
<form name="myForm" ng-controller="formController" ng-submit="signupPost()" class="form-horizontal" novalidate>
<div class="form-group">
<label for="first_name" class="col-lg-3 control-label"><?php echo Lang::get('form.first_name') ?></label>
<div class="col-lg-8">
<input type="text" name="first_name" ng-model="formData.first_name" id="first_name" class="form-control input-small">
<span class="help-block" ng-show="errors['first_name'][0]">{{ errors['first_name'][0] }}</span>
</div>
</div>
<div class="form-group">
<label for="last_name" class="col-lg-3 control-label"><?php echo Lang::get('form.last_name') ?></label>
<div class="col-lg-8">
<input type="text" name="last_name" ng-model="formData.last_name" id="last_name" class="form-control input-small">
<span class="help-block" ng-show="errors['last_name'][0]">{{ errors['last_name'][0] }}</span>
</div>
</div>
<div class="form-group">
<label for="username" class="col-lg-3 control-label"><?php echo Lang::get('form.username') ?></label>
<div class="col-lg-8">
<input type="text" name="username" ng-model="formData.username" id="username" class="form-control input-small">
<span class="help-block" ng-show="errors['username'][0]">{{ errors['username'][0] }}</span>
</div>
</div>
<input type="submit" value="<?php echo Lang::get('auth.signup') ?>" class="btn btn-primary">
</form>
</div>
</div>
角控制器
function formController($scope, $http)
{
$scope.formData = {};
$scope.signupPost = function() {
$http.post('signup', $scope.formData).success(function(data){
if(data.msg == "success")
{
$location.path(data.redirect)
}
else
{
$scope.errors = data.error_msg;
}
});
}
}
並且json如果什麼laravel retunrs形式驗證失敗
$messages = $val->messages();
$data = array(
'error_msg' => array(
'first_name' => $messages->get('first_name'),
'last_name' => $messages->get('last_name'),
'username' => $messages->get('username'),
'profession' => $messages->get('profession'),
'location' => $messages->get('location'),
'email' => $messages->get('email'),
'gender' => $messages->get('gender'),
'password' => $messages->get('password'),
'dob' => $messages->get('dob'),
'confirm_password' => $messages->get('confirm_password'),
));
}
return Response::json($data);
我嘗試了一些變化,目前它的工作原理是這樣的形式,展現了表單驗證錯誤消息,如果將其設置爲所有字段這樣errors['first_name'][0]
。
我的問題是,有沒有更有效的方法呢?如果有人能告訴我一個例子將是巨大的
謝謝
現場演示似乎是罰款。當你說在jQuery中更容易時,你能否提供示例。由於每個字段本身的錯誤是一個數組,我們需要使用該語法。 – Chandermani
看看這個:http://docs.angularjs.org/guide/forms它解釋瞭如何使用Angular客戶端驗證。 – Martijn
@Chandermani我的意思是與jQuery是我通過錯誤消息中的每個函數循環,並打破它的關鍵值和simplie附加錯誤信息的實際ID,這就是爲什麼我問角度:) –