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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

解決済

1回答

1887閲覧

FuelPHP 言語にバリデーションをかけられるか?

amaguri

総合スコア227

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

2クリップ

投稿2017/06/27 07:30

編集2017/06/28 01:20

多言語化サイトを作成しているのですが
英語の言語なら英語のみ
日本語の言語なら日本語
などというように
数字以外関して
言語によるバリデーションをかけるということは可能でしょうか?

英語
フランス語
日本語
英語
中国語
にてそれぞれ言語のバリデーションをかけていとい思っています。

追記

やりたいことは
言語を選択すると
urlが代わりその言語に翻訳されたページに切り替わります。

イメージ
現在の実装
言語:韓国語
を選択した場合
韓国語に翻訳されたページが表示される。

やりたいこと
この時にフォームに入力できる文字は韓国語と数字のみにする。

これを
日本語
英語
中国語
フランス語
でもやりたい

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

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

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

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

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

m.ts10806

2017/06/27 07:33 編集

言語選択可能ですか?それとも選択不可で入り乱れていますか?
amaguri

2017/06/27 07:34

言語は選択可能です。選択されるとURLが切り替わりlangファイルの読み込み先が変わる作りになっています
m.ts10806

2017/06/27 07:44 編集

「言語のバリデーション」がどのようなものかイメージできてないのですが、 言語選択可能でlangファイル読込先変わるのであれば、セッションなりグローバルに参照できる場所に保持しておいた現在の選択言語からバリデーションルールを適用するのでいけそうに思います。(FuelPHPに精通しているわけではないのであくまで想像ですが)
amaguri

2017/06/27 08:08

なるほど、、ということはアルファベットみたいなそういう宣言したら動くようなバリデーションは用意されていなくて、文字を読み込みその言語が何語か判断するプログラムとそれを照らし合わせるプログラムをかけば実現可能かもしれないということですかね?
amaguri

2017/06/27 08:09

フォームに韓国語のみしか入力できない という動きを考えています。
m.ts10806

2017/06/28 00:05

「言語のバリデーション」についてちょっと分かりづらいので質問本文に詳細追記していただけますか?
m.ts10806

2017/06/28 00:06

メッセージ内容だけだとlanguage設定とlangで何とかなりそうですが、そうでない場合はおそらく自力で実装しなければなりませんし。
guest

回答1

0

ベストアンサー

「そこまでチェックして意味があるか」というメリットデメリットもあわせて仕様を考えた方が良いかもしれません。

例えば韓国語は正規表現でチェックが可能のようですが(参考:ハングルを判定する正規表現)全て網羅できるかは検証必要ですし、
漢字を利用する日本語と中国語の判定は結構複雑に思います。特に中国語は「繁体字・簡体字両方可とするのか」とか、「北京語だけに限るのか」とか。
「Language-Detection」という言語判定のAPIがあるようですが(未検証)、FuelPHP(というかPHP)から利用可能かというところなど壁も決して低くはなさそうですね。

フォームから入力したテキストを保存、表示するとして、その後に別言語に切り替えた場合どうするのかとか、仕様次第というところもあります。
「言語選択したらその言語でしか打たれないだろう」といったん全ての言語の入力を一般的なバリデーションを通した後に受け入れ、入力されたままを利用する(表示する)という仕様でも良いのかなとも思います。
もちろんサイトのコンセプトによります。

投稿2017/06/28 01:55

m.ts10806

総合スコア80850

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

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

amaguri

2017/06/28 02:30

ありがとうございます! 言語による言語内バリデーションは不採用にしたいと思います。 デメリットや懸念点等を教えていただきありがとうございました。
m.ts10806

2017/06/28 02:41

もちろん、「通常のバリデーションをして引っかかった場合のエラーメッセージを選択言語で表示」というのであれば言語別のメッセージファイルを作れば可能と思いますので、そちらは導入もそこまで難しくないものと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問