2016-09-15 2 views
0

Я использую laravel 5.0. Я хочу использовать валидатор laravel, где мой столбец MENU_NAME в 'dbo.MS_MENU' уникален. Я использую базу данных sql-сервера. Я сделал код валидатор, как в ниже, но я все еще получил ошибкуКак использовать валидатор в Laravel 5.0?

QueryException в connection.php линии 624: SQLSTATE [23000]: [Microsoft] [Драйвер ODBC 11 для SQL Server] [SQL Server] Нарушение ограничения UNIQUE KEY 'IX_MS_MENU'. Невозможно вставить дубликат ключа в объект 'dbo.MS_MENU'. Значение повторяющегося ключа - это (Роль). (SQL: EXEC dbo.M_INSERT_MENU_PARENT '0', '121', 'Роль', 'Меню Коба', '0', 'SDF')

$validator = Validator::make($request->all(), [ 
     'MENU_NAME' => 'unique:dbo.MS_MENU']); 

    if ($validator->fails()) { 
     return redirect ('Menu')->withErrors($validator)->withInput(); 
    } 
+0

я думаю, пришла ошибка с DB стороны .. –

+0

если я изменить «уникальный: dbo.MS_MENU» до «требуется» это работа. ты думаешь, это из-за БД? – hendraspt

+0

Тогда нам нужно указать условие здесь, когда оно будет уникальным. –

ответ

0

пожалуйста попробуйте с этим один

$validator = Validator::make($request->all(), [ 
    'MENU_NAME' => 'unique:dbo.MS_MENU,MENU_NAME']); 

Вы должны использовать имя таблицы, а также столбец имя

+0

все равно то же самое – hendraspt

0

Привет проверка следующего кода,

//Validation using ajax  
public function checkvalidation(Request $request) { 

    $data['SUCC_FLAG'] = 0; 
    $formdata = $request->only('uname', 'umail', 'dob', 'cno', 'pwd', 'cpwd'); 
    $rules = ['uname' => 'required|min:2|alpha', 'umail' => 'required|email', 'dob' => 'required|date', 'cno' => 'required|digits:10', 'pwd' => 'required|min:3|max:6', 'cpwd' => 'required|same:pwd']; 
    $validator = Validator::make($formdata, $rules); 
    if ($validator->fails()) { 
     $data['msg'] = $validator->errors(); 
    } else { 
     $data['SUCC_FLAG'] = 1; 
     $data['msg'] = "success"; 
    } 
    return json_encode($data); 
} 

это это пример кода, который я использую для своего проекта, который вы должны изменить в соответствии с вашим использованием или проектом.

для использования валидатор вы должны указать use Validator; в заголовке

я надеюсь, что это работает для вас

Смежные вопросы