CakePHP3でWeb家計簿 ㉑家計簿登録・編集時のバリデーション | ゆきみのWeb開発帳

ゆきみのWeb開発帳

IT系のSEもどきが、個人の勉強の為に、CakePHP3やPython3などでの開発記録を綴ります。
勉強不足な面もありますが、日々成長中です。

Web家計簿を、で構築した環境にアップすることを目標に、複数回に分けてWeb家計簿を作って行きます。

 

============================

CakePHP3でWeb家計簿 記事一覧

①基本設計

②usersテーブルの作成~bakeコマンド

③Security.saltの変更~DebugKitの非表示

④routes.phpの設定~default.ctpの編集

⑤User.phpの編集

⑥ログイン・ログアウト機能の作成

⑦ユーザー登録機能の作成

⑧トップページ表示機能の作成

⑨マイページ(ユーザー情報閲覧)機能の作成

⑩ユーザー情報編集機能の作成

⑪年月日を日本的な表記へ変更

⑫ユーザー情報登録・編集時のバリデーション

⑬退会機能の作成

⑭パスワード再設定機能の作成

⑮favicon(ファビコン)の配置

⑯accountsテーブルの作成~bakeコマンド

⑰家計簿登録機能の作成

⑱家計簿一覧機能の作成

⑲家計簿編集機能の作成

⑳家計簿削除機能の作成

㉑家計簿登録・編集時のバリデーション ←現在の記事

============================

 

 

今回は、家計簿登録・編集時のバリデーションを行います。

 

 

手順1.AccountsTable.phpの編集

作成したプロジェクト配下\src\Model\Tableにある『AccountsTable.php』を以下の通りに設定します。日本語でメッセージを出力するため、ファイルをUTF-8で保存します。

 

public function validationDefault(Validator $validator)
    {
        $validator
            ->integer('id')
            ->allowEmpty('id', 'create');

        $validator
            ->integer('userid')
            ->requirePresence('userid', 'create')
            ->notEmpty('userid');

        $validator
            ->date('recorded', ['ymd'],'正しい日付を入力して下さい。')
            ->requirePresence('recorded', 'create')
            ->notEmpty('recorded','計上を入力して下さい。');
    
        $validator
            ->scalar('classification')
            ->requirePresence('classification', 'create')
            ->notEmpty('classification');

        $validator
            ->scalar('items')
            ->requirePresence('items', 'create')
            ->maxLength('items', 50,'50字以内で入力して下さい。')
            ->notEmpty('items');

        $validator
            ->integer('price')
            ->requirePresence('price', 'create')
            ->notEmpty('price');

        return $validator;
    }

 

以上でCakePHP3でWeb家計簿の記事は終了です。