Я использую редактор данных и node.js. Validator.dbUnique () позволяет мне проверить значение перед вставкой, если значение уникально в этом столбце. Ссылка https://editor.datatables.net/manual/nodejs/validation
new Field( 'groups.name' )
new Field( 'groups.product_id' ),
.validator( Validator.dbUnique() )
new Field( 'groups.type' )
new Field( 'groups.status' );
Что мне нужно, так это проверка нескольких столбцов. Поэтому вставляйте новую запись, только если product_id НЕ имеет тип = 1 и статус = 2.
Вот пример php, объединяющий несколько столбцов https://datatables.net/forums/discussion/57729/unique-validation-for-multiple-columns
->validator( function($editor, $action, $data){
if ($action === Editor::ACTION_CREATE || $action === Editor::ACTION_EDIT){
foreach ($data['data'] as $pkey => $values ){
$count = $editor->db()->query('select')->get('*')->table('teachers_subjects')
->where('teachers_subjects.teacher', $values['teachers_subjects']['teacher'])
->where('teachers_subjects.subject', $values['teachers_subjects']['subject'])
->exec()
->count();
if ($count == 1){
return 'This selection is already in the database.';
}
}
}
})
Но как это сделать с node.js?
Rf. https://editor.datatables.net/manual/nodejs/validation#Global -validators