質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

5945閲覧

laravelのvalidationを数値に対して実施できません

red13

総合スコア79

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/02/19 08:22

編集2016/02/19 08:23

項目「test」に対して以下のvalidationルールを実装しました。

'test' => 'required|max:3|numeric'

「aaaa」だと「max:3」なので「3桁以内に入力してください」というエラーが出ます。
ところが「1234」だと桁数の比較ではなく数値の大小比較になるため
エラーは出ますが、入力は「0~3」しか入力できません。
数値に対しての桁数判定はどの項目を使用すればよろしいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

digitsルールを利用すれば良いです。

'test' => 'required|digits:4'

とすることで、数値かつ桁数が4である場合にバリデーション成功になります。

他に使えるバリデーション等は以下のURLをどうぞ
http://qiita.com/fagai/items/9904409d3703ef6f79a2

投稿2016/02/19 08:51

編集2016/02/19 08:52
fagai

総合スコア2158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

red13

2016/02/19 09:11

質問内容に不足がありました。 申し訳ありません。 やりたいことは「3桁以内かどうか」です。 digitsの場合は「その桁数か否か」のため、「digits:3」にした場合だと 1桁でも2桁でもエラーが出てしまいます。
fagai

2016/02/19 09:18

であれば、digits_betweenを使えばよいでしょう。 ``` digits_between:1,3 ``` でいけますよっ
red13

2016/02/19 10:22

これで何とかできそうです。 ただメッセージが欲しいメッセージとは異なりますが。。。 回答ありがとうございます。
red13

2016/02/22 00:30

変えられるのですね。 試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問