-1
データベースに検証ルールを入れてカスタムhtmlフォームを保存したいと思います。PHPを使ってカスタムhtmlフォームをデータベースに保存する方法
私は、カスタムフィールドと選択、チェックボックス、ラジオ、テキストボックスなどのさまざまな要素を持つフォームがあるとします。これらの要素はすべてフォームとしてデータベースに保存されるため、このフォームを自分のサイトのどこにでも簡単に統合することができます。
データベースに検証ルールを入れてカスタムhtmlフォームを保存したいと思います。PHPを使ってカスタムhtmlフォームをデータベースに保存する方法
私は、カスタムフィールドと選択、チェックボックス、ラジオ、テキストボックスなどのさまざまな要素を持つフォームがあるとします。これらの要素はすべてフォームとしてデータベースに保存されるため、このフォームを自分のサイトのどこにでも簡単に統合することができます。
colでhtmlコードを保存し、別のcolで検証オプションのjsonデータを保存できます。たとえば :
<input type="text" name="username" />
<input type="password" name="pass" />
と検証のため:
$validation = array(
'username' => array(
'regex' => '/\w{6,12}/',
'error' => 'Username must be 6 - 12 chars'
),
'pass' => array(
'func' => 'validate_password',
'error' => 'Week password'
)
);
$validation_json_for_db = json_encode($validation);
使用例:
// may be need to receive from db and json_decode parse
$validation = array(
'username' => array(
'regex' => '/\w{6,12}/',
'error' => 'Username must be 6 - 12 chars'
),
'pass' => array(
'func' => 'validate_password',
'error' => 'Week password'
)
);
$valid_errors = array();
foreach($validation as $key => $val){
if(isset($_POST[$key])){
$isValid = false;
if(isset($val['func'])){
$isValid = call_user_func($val['func'], $_POST[$key]);
} elseif(isset($val['regex']){
$isValid = preg_match($val['regex'], $_POST[$key]);
}
if(! $isValid){
$valid_errors[$key] = $val['error'];
}
}
}
こんにちは、StackOverflowのへの歓迎。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 – natanelg97