|string> */ public function rules(): array { return [ 'first_name' => [ 'required', 'persian_alpha', 'string', 'min:3', 'max:100' ], 'last_name' => [ 'required', 'persian_alpha', 'string', 'max:100' ], 'national_code' => [ 'required', // 'ir_national_id', 'digits:10', 'unique:users,national_code', ], 'gender' => [ 'required', 'integer', Rule::in([1, 2]), ], 'marital_status' => [ 'required', 'integer', Rule::in([1, 2, 3]), ], 'spouse_name' => [ 'nullable', 'string', 'max:200', 'required_if:marital_status,2' ], 'mobile' => [ 'required', 'digits:11', 'ir_mobile:zero', 'unique:users,mobile', ], 'email' => [ 'required', 'email', 'max:150', 'unique:users,email', ], 'username' => [ 'required', 'persian_not_accept', 'string', 'min:3', 'max:50', 'unique:users,username', ], 'password' => [ 'required', 'string', 'min:8', 'confirmed', ], 'image' => [ 'nullable', 'image', 'mimes:jpg,jpeg,png,webp', 'max:800', ], 'province_id' => [ 'nullable', 'integer', ], 'city_id' => [ 'nullable', 'integer', ], ]; } }