No.1
- 回答日時:
maxlengthに指定する10というのは
10文字ではなく、10byteです。
print strlen('あいうえおかきくけこ');
とした場合に出力される値以上の数値を指定しなくては
エラーになるはずです。
この回答への補足
すみません。質問がすこし変でした;
文字数ではなくバイト数で数えていることはわかったので、
PEARの該当箇所を開いて、
$length = strlen($value);
を
$length = mb_strlen($value);
のように書き換えることでひとまず解決したのですが、
PEARの内容を書き換えることに少し抵抗があるので、
他になにか良い解決方法はないでしょうか?
自分で思いついたものは、
自分で新しいルールを作ることぐらいです;
もっとスマートな方法はないでしょうか?
ここらへん、どの参考書もまったく触れていないのが不思議です・・・
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> PEARの該当箇所を開いて、
> $length = strlen($value);
> を
> $length = mb_strlen($value);
>
> のように書き換えることでひとまず解決したのですが、
バグでもない箇所を書き換えるのはお勧めしません。
エラーメッセージを変更するのではダメなのでしょうか?
例えば、「名前は半角10文字、または全角5文字以内でお願いします」など
それがダメなら、独自ルールを作るのが一番だと思います。
> ここらへん、どの参考書もまったく触れていないのが不思議です・・・
文字数チェックはバイト単位でのチェック方法が一般的だからだと思います。
この回答への補足
あれからいろいろと考えてみたのですが、
なるべくスマートにしようと思って
$form->addRule("name", "名前は10文字以内で入力してください", "regex", '/^.{1,10}$/', "client");
という、正規表現を使った方法を思いついたのですが、
このような方法はあまり良くないのでしょうか?
ぜひアドバイスをお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 助けてください!スパムメールがとんでもなく大量に届きます。 3 2023/08/10 16:32
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
半角文字と全角文字の判別の仕方
-
メッセージボックスで1025文字...
-
記号は半角と全角どちらがよい...
-
VB.net テキストボックス半角文...
-
半角数字かどうかの判定
-
全角半角変換 C++/CLI
-
全角英数字のみ半角英数字にす...
-
全角カタカナの正規表現
-
FC2ホームページ 文字化けする。
-
Phonetic関数を利用して文章中...
-
数字と半角英字混じりの乱数を...
-
VBAで英数字入力チェックしたい。
-
入力データ「英数字」と「アン...
-
マクロで半角・全角スペースと...
-
全角英数文字が嫌われる理由を...
-
文字列中の両丸括弧を取り除くV...
-
VBのソース検索で、コメントア...
-
ファイルから読み込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
エクセルのCOUNTIFが正しくカウ...
-
XMLのタグ名の禁則文字
-
文字列中の両丸括弧を取り除くV...
-
VBScriptである文字列に半角文...
-
全角英数文字が嫌われる理由を...
-
記号は半角と全角どちらがよい...
-
Excel2002 一桁数字だけ全角に置換
-
エクセルでの漢字、カタカナ、...
-
特定の文字を簡単な操作で半角...
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
IT企業の技術屋にとって全角英...
-
2つ以上の連続する空白文字を除去
-
全角半角変換 C++/CLI
-
Accessの文字数を調べたい
おすすめ情報