Codeigniter のPOST処理で独自ルールを活用して文字を全角に変換する
CodeigniterのPOST処理を行う際に
$this->form_validation->set_rules
などでルールを定め、バリデーション処理を行うと思うのですが
その際に以前から文字を変換する作業も一緒に行いたいと考えてました。
公式のサイトを読み漁ったのですが、それらしき利用方法は見つからず諦めていた際に
偶然方法を自分で見つけたのでこちらに記載し共有させて頂きます。
方法
独自ルール関数のreturnをbool型ではなく、セットしたい内容にするだけ。
以上になります。
具体的なやり方
libraries以下に「CI_Form_validation」をextendsした独自クラスを追加
そのクラス内に文字を全角にしてセットしたい場合は下記の関数を追加
function cv_zenkaku($str)
{
return mb_convert_kana($str, 'RNAKH'); // 全角に変換
}
コントローラーでそのクラスを呼び出します。
$this->load->library(array('my_form_validation'));
その後、変換したいPOSTでrule設定を行います
$this->form_validation->set_rules('test1', 'テスト', 'cv_zenkaku');
その後、
$this->form_validation->run()
を実行するとPOSTの中身が入力の際に半角文字列を入力していても、全角文字に変換されていることが確認できると思います。
最後に
この方法を活用すると、全角文字の入力が必須だった場合。ユーザーに再度入力させる手間を減らすことが出来るので便利かと思います。
確認したバージョン
3.2.0-dev
3.2.0-dev
Author And Source
この問題について(Codeigniter のPOST処理で独自ルールを活用して文字を全角に変換する), 我々は、より多くの情報をここで見つけました https://qiita.com/karitorumono333/items/9604fed2da158be6048f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .