该电子邮件已被接收。甚至我都尝试添加新的电子邮件地址

时间:2020-09-19 13:03:44

标签: laravel laravel-5 form-submit

Laravel 5.8面临非常不确定的问题。使用User :: create();

创建用户时

如果我为唯一的电子邮件设置了验证,那么它将返回我错误,即{“ message”:“给定的数据无效。”,“ errors”:{“ email”:[“ 。“]}}否则它将在数据库中为同一电子邮件地址插入4条记录。

这是我的控制人

namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Route;
use Auth;
use DB;
use App\User;
use App\Logs;
use App\Role_user;
use App\Model\Admin\Modules_permission;
class UsersController extends Controller
{
  protected $slugData;

  public function __construct()
  {
    $this->middleware('auth');
    $this->middleware('admin');
    $this->slugData = DB::table('modules as m')
                      ->Join('sub_modules as sm','sm.module_id','m.id')
                      ->select('sm.name as superSlug', 'sm.slug as subSlug')
                      ->where('m.id', '=', '2')
                      ->where('sm.id', '=', '5')
                      ->get()
                      ->toArray();
  }

  public function adminUsersCreate(Request $request){
    $request->validate([
                'name'         => 'required',
                'branch'       => 'required',
                'role'         => 'required',
                'status'       => 'required',
                'super_module' => 'required',
                'password'     => 'required|min:5',
                //'email'        => 'required|email'
                'email'        => 'required|email|unique:users'
            ], [
                'branch.required'       => 'Please select branch.',
                'role.required'         => 'Please select role.',
                'status.required'       => 'Status is required',
                'super_module.required' => 'Please select super module.',
                'name.required'         => 'Name is required',
                'password.required'     => 'Password is required'
            ]);
      try {
          if(!empty($request->institute)){
            $userData['institute_id'] = $request->institute;
            if(!empty($request->user_type)){
              $userData['institute_user_type_id'] = $request->user_type;
            }
          }
          $userData['type']          = 'user';
          $userData['name']          = $request->name;
          $userData['email']         = $request->email;
          $userData['password']      = bcrypt($request->password);
          $userData['password_view'] = $request->password;
          $userData['branch_id']     = $request->branch;
          $userData['status']        = $request->status;
          $userData['created_by']    = Auth::user()->id;
          // echo "<pre>";print_r($userData);echo "</pre>";die;
          $user                      = User::create($userData);
          if(@$user->id >0){
              $message['type']    = 'POST';
              $message['success'] = 'User create successfully+++';            
            $roleData['user_id'] = $user->id;
            $roleData['role_id'] = $request->role;
            $role                = Role_user::create($roleData);
            if($role->id != 0 && !empty($role)){
              if($request->super_module != 'not_that_time' && !empty($request->permission)){
                $permUser    = $user->id;
                $permissions = $request->permission;
                foreach ($permissions as $key => $subModule) {
                  $permData['user_id']    = $permUser;
                  $permData['created_by'] = Auth::user()->id;
                  $permData['module_id']  = $key;
                  foreach ($subModule as $key => $cruds){
                    $permData['submodule_id'] = $key;
                    $permID                   = Modules_permission::create($permData);
                    $permUpdateID             = Modules_permission::whereId($permID->id)->update($cruds);
                    if($permUpdateID == 0 || empty($permID) || $permID->id == 0){
                      $routeName                = Route::getCurrentRoute();
                      $message['type']          = 'POST';
                      $message['user_id']       = Auth::user()->id;
                      $message['opretion']      = 'Login User Create';
                      $message['error_message'] = 'Permission update failed afetr create user';
                      $message['url']           = $routeName->action['controller'];
                      Logs::create($message);
                    }elseif($permUpdateID == 1){
                      $message['type']    = 'POST';
                      $message['success'] = 'User create successfully';
                    }
                  }
                }
              }else{
                $message['type']    = 'POST';
                $message['success'] = 'User create successfully without permissions';
              }
            }else{
              $routeName                = Route::getCurrentRoute();
              $message['type']          = 'POST';
              $message['user_id']       = Auth::user()->id;
              $message['opretion']      = 'Login User Create';
              $message['error_message'] = 'Role ID not get afetr create user';
              $message['url']           = $routeName->action['controller'];
              Logs::create($message);
            } 
          }else{
            $routeName                = Route::getCurrentRoute();
            $message['type']          = 'POST';
            $message['user_id']       = Auth::user()->id;
            $message['opretion']      = 'Login User Create';
            $message['error_message'] = 'User create failed';
            $message['url']           = $routeName->action['controller'];
            Logs::create($message);
          }
          return Response()->json($message);
    } catch (\Exception $ex) {
        $routeName                = Route::getCurrentRoute();
        $message['type']          = 'POST';
        $message['user_id']       = Auth::user()->id;
        $message['opretion']      = 'Login User Create';
        $message['error_message'] = $ex->getMessage();
        $message['url']           = $routeName->action['controller'];
        Logs::create($message);
        return Response()->json($message);
    }

  }
}  

用户模型和关系:-

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'type', 'name', 'gender', 'institute_id', 'institute_user_type_id','password_view', 'land_line', 'permanent_address', 'mobile', 'dob', 'corresp_address', 'pin_code', 'photo', 'email', 'password','branch_id','status','created_by'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function roles()
    {
      return $this->belongsToMany(Role::class);
    }

    public function rolesByID()
    {
      return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
    }
}

JS用来提交表单:-

$(function() {
  $('.add-subadmin-form').validate({
    errorElement: 'span',
    errorClass: 'error',
    rules: {
        name: "required",
        email: {
          required: true,
          email: true,
          // remote: checkEmail()
        },
        password: {
          required: true,
                    pwcheck: true,
          minlength: 5
        },
      },
      // Specify validation error messages
      messages: {
        name: "Please enter your name.",
        password: {
          required: "Please provide a password.",
                    pwcheck: "minimum 1 capital letters and lowercase letters with number and special characters",
          minlength: "Your password must be at least 5 characters long."
        },
        email: "Please enter a valid email address.",
        branch:{
          required: "Please select branch.",
        },
        super_module:{
          required: "Please select super module.",
        },
        sub_moduless:{
          required: "Please select sub module.",
        },
        role:{
          required: "Please select role.",
        },

      },
      submitHandler: function(form) {
        if(returnData == 0){
          $('span.emailExist').text('This email is already exist');
          $("span.emailExist").css("display", "block");
          return false;
        }else {
          $('span.emailExist').remove();
          var postedData  = $('.add-subadmin-form').serialize();
          $.ajax({
            url: SITE_URL+'/admin/admin-users-Create',
            method:"POST",
            headers: {
                'X-CSRF-TOKEN': $('input[name="_token"]').val()
            },
            data: $('.add-subadmin-form').serialize(),
            success:function(response){
               console.log(response);
              if(response.success){
                notify({
                    type: "success", //alert | success | error | warning | info
                    title: "Success! "+response.success,
                    showHideTransition: 'fade',
                            position: {
                        x: "right", //right | left | center
                        y: "top" //top | bottom | center
                    },
                    icon: '<img src="'+Asses_url+'/public/assets/images/paper_plane.png" />',
                    // message: response.success
                });
                window.setTimeout(function(){
                  window.location.href = SITE_URL+"/admin/admin-users-list";
                }, 2000);
              }else if(response.error_message){
                ntotify({
                    type: "error", //alert | success | error | warning | info
                    title: "Error",
                            position: {
                        x: "right", //right | left | center
                        y: "top" //top | bottom | center
                    },
                    icon: '<img src="'+Asses_url+'/public/assets/images/paper_plane.png" />',
                    message: response.error_message
                });
              }
            }
          });
          // form.submit();
        }

      }
    });
});

0 个答案:

没有答案
相关问题