0
ajaxを使用してフォームを検証したいが、エラーが正しく表示されない。Angularjs validate
$conn= new mysqli('localhost','root','','dangky');
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
$sql="SELECT *FROM dangky where username='$username'";
$result= mysqli_query($conn,$sql);
$errors=array();
$data=array();
if(empty($username))
$errors['username']='user name is required';
if(mysqli_num_rows($result)>0){
$row = mysqli_fetch_assoc($result);
if ($row['username'] == $username){
$errors['check'] = 'Tên đăng nhập đã tồn tại';
}
}
if(!empty($errors)){
$data['success']=false;
$data['errors']=$errors;
}
echo json_encode($data);
エラーユーザー名が表示されているが、エラーが表示されていないチェック
<body ng-app="app" ng-controller="dkController">
<form ng-submit="dk()">
<label>Username</label>
<input type="text" name="username" ng-model="formdata.user">
{{errorName}}
<label>Password</label>
<input type="text" name="password" ng-model="formdata.pass">
<label>Email</label>
<input type="text" name="email" ng-model="formdata.email">
<button type="submit" >Submit</button>
{{message}}
</form>
</body>
のJs
function dkController($http,$scope){
$scope.formdata={};
$scope.dk = function(){
$http({
method:"POST",
url:"dk.php",
data:$.param($scope.formdata)
})
.then(function(response){
$scope.errorName = response.data.errors.username;
})
とPHP
HTML: はここに私のコードです。
この問題はyouuがあなたのPHPスクリプトがポストデータ{ username: 'someone' }
を探している
{ user : 'someone', pass: 'abc123!', email: '[email protected]' }
だからあなたの名前の変更が含まれている$ scope.formdataを通過しているPHPの出力
{"success":false,"errors":{"username":"user name is required"}} .
これらのリンクを読んでから、再度投稿してください。 https://meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title – IsuruAb