1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Codeigniter のPOST処理で独自ルールを活用して文字を全角に変換する

Last updated at Posted at 2022-03-21

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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?