ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp3.2.3 フォーム検証固有のエラー レポート
protected $_validate = array( // array(field,rule,message,condition,type,when,params) // 1 用户不能为空,唯一,至少4个字符 array('username', '', '用户名已存在', 0, 'unique'), );
エラー メッセージ: 整合性制約違反: 1062 キー 'PRIMARY のエントリ '100' が重複しています'
これは整数の主キー フィールドです。そして、文字列「100」を指定しました。何が起こっているのか
主キー ID100 の行のユーザー名は同じ入力です
そしてエラーがあります
すべてのエラー メッセージは不正なデータ オブジェクトを報告します。
コントローラーでフォームを処理するコードを投稿してください
コントローラーでフォームを処理するコードのロジックが間違っています
$user = new ModelUserModel() ;
if (!empty($_POST)) {
$_POST['user_hobby'] = implode(',', $_POST['user_hobby']); / create メソッドはフォーム情報を収集して返し、自動フォーム検証をトリガーします
$data = $user->create() // モデル設定 $_validate // 自動データ検証が設定されている場合、データ検証が実行されます
if ($user-& gt; add ($ data)) {
Echo 'データ追加成功';
} else {
dump ($ user-& gt; geterror ()); 🎜>}
} else {
$this->display();
}
}
if ($data) {
> { ($data);
問題ありません。
しかし、なぜこのようなことが起こっているのでしょうか?
$data を出力して、テーブル構造を確認してください。