Я работаю над фреймворком cakephp, где mysql возвращается. Я разрабатываю форму для ввода сведений о продукте, где product_id должен быть добавлен вручную. Я написал правила проверки для поля product_id. Он работает для других правил проверки, то есть для непустых , numeric.But не работает для уникального правила проверки. Вот мой код проверки в модели:
var $validate= array(product_id=> 'numeric'=> array('rule'=>'numeric', 'on'=>'create', 'message'=>'Please enter only numbers'), 'isUnique' => array('rule' => 'isUnique', message' => 'This product_id already exist'), 'notEmpty'=> array('rule' => 'notEmpty', message' => 'Please enter the product id')), 'product_name' => array('notEmpty'=> array( 'rule' => 'notEmpty', 'message' => 'Please enter the product name')));
Я не смог указать местоположение ошибки.
Не должно быть:
var $validate= array('product_id'=> array('rule'=>'numeric', 'on'=>'create', //etc
Кроме того, вы пытаетесь проверить поле с именем numeric
?
Кроме того, пока я не знаю, как ваше приложение функционирует, используя product_id
похоже, оно должно относиться к другой записи, в таблице products
которая будет автоматически обрабатываться с помощью Cake, т.е. в select.
Если вы вводите уникальный код (например, внутренний ссылочный номер), подумайте о том, чтобы переименовать поле на что-то меньшее – Cake-like, чтобы предотвратить возникновение каких-либо проблем или путаницу с другим разработчиком Cake.