在php表单生成器类中生成标记

在php表单生成器类中生成标记,php,validation,forms,Php,Validation,Forms,我正在使用 是否有人知道如何使用此类验证标记(例如,按字符串tag1、tag2、tag3拆分)?你是在验证之后还是之前做的 显然,您可以使用preg_split,但在这里您将在哪里使用它?我想确保每个标记的长度至少为3个字符。这不是一个很好的表单生成器,但下面是我如何为标记元素创建验证的 添加文本框元素: $form->addTextbox('Tags:', 'tags', "", array("required" => 1)); 有一个方法“bind([formobject],[

我正在使用

是否有人知道如何使用此类验证标记(例如,按字符串tag1、tag2、tag3拆分)?你是在验证之后还是之前做的


显然,您可以使用preg_split,但在这里您将在哪里使用它?我想确保每个标记的长度至少为3个字符。

这不是一个很好的表单生成器,但下面是我如何为标记元素创建验证的

添加文本框元素:

$form->addTextbox('Tags:', 'tags', "", array("required" => 1));
有一个方法“bind([formobject],[javascript条件],[php条件]”,我认为这个方法是向元素添加验证规则

$form->bind($form, '', 'validateTags()');
第三个参数是验证标记值的函数。如果文本框包含正确的数据,则返回true;如果文本框不正确,则返回false。此外,如果该值不正确,请向表单错误会话添加错误消息,然后返回false

function validateTags($form) {
    if (isset($_POST["tag"])) {
        $value = strip_tags($_POST["tag"]);
        $tags = explode(',', $value);
        foreach ($tags as $tag) {
            if (strlen($tag) < 3) {
                            // there might be a better way to do this!
                            // validation_2 == id of the form
                $_SESSION["pfbc-errors"]['validation_2']["errormsg"]['tag'] = "validation message....";
                return false;
            }
        }
        unset($_SESSION["pfbc-errors"]['validation_2']["errormsg"]['tag']);
    }
    return true;
}
函数validateTags($form){
如果(isset($_POST[“tag”])){
$value=strip_标签($_POST[“标签]);
$tags=分解(“,”,$value);
foreach($tags作为$tag){
如果(strlen($tag)<3){
//也许有更好的方法可以做到这一点!
//验证_2==表单的id
$\u会话[“pfbc错误”][“验证\u 2'][“错误消息”][“标记”]=“验证消息…”;
返回false;
}
}
取消设置($_会话[“pfbc错误”]['validation_2'][“errormsg”]['tag']);
}
返回true;
}

希望这能有所帮助,这不是一个很好的表单生成器,但下面是我如何为标记元素创建验证的

添加文本框元素:

$form->addTextbox('Tags:', 'tags', "", array("required" => 1));
有一个方法“bind([formobject],[javascript条件],[php条件]”,我认为这个方法是向元素添加验证规则

$form->bind($form, '', 'validateTags()');
第三个参数是验证标记值的函数。如果文本框包含正确的数据,则返回true;如果文本框不正确,则返回false。此外,如果该值不正确,请向表单错误会话添加错误消息,然后返回false

function validateTags($form) {
    if (isset($_POST["tag"])) {
        $value = strip_tags($_POST["tag"]);
        $tags = explode(',', $value);
        foreach ($tags as $tag) {
            if (strlen($tag) < 3) {
                            // there might be a better way to do this!
                            // validation_2 == id of the form
                $_SESSION["pfbc-errors"]['validation_2']["errormsg"]['tag'] = "validation message....";
                return false;
            }
        }
        unset($_SESSION["pfbc-errors"]['validation_2']["errormsg"]['tag']);
    }
    return true;
}
函数validateTags($form){
如果(isset($_POST[“tag”])){
$value=strip_标签($_POST[“标签]);
$tags=分解(“,”,$value);
foreach($tags作为$tag){
如果(strlen($tag)<3){
//也许有更好的方法可以做到这一点!
//验证_2==表单的id
$\u会话[“pfbc错误”][“验证\u 2'][“错误消息”][“标记”]=“验证消息…”;
返回false;
}
}
取消设置($_会话[“pfbc错误”]['validation_2'][“errormsg”]['tag']);
}
返回true;
}

希望这能有所帮助

与此if声明相关的内容将走向何方?如果($form->validate()){//do blah},validate()方法将循环表单中的每个元素,并检查它是否有绑定规则。然后它将检查绑定规则是否返回true或false。它将在与此if语句相关的情况下返回到哪里?如果($form->validate()){//do blah},validate()方法将循环表单中的每个元素,并检查它是否有绑定规则。然后它将检查绑定规则是否返回true或false。这是PHP Form builder类的1.4版?这是PHP Form builder类的1.4版?