2

我有以下表格,

public function ContactForm()
{
    $fields = FieldList::create(
        TextField::create('Nombre', 'Tu nombre')
            ->setCustomValidationMessage('Por favor coloca tu nombre.')
    );

    $actions = FieldList::create( 
        FormAction::create('sendContactForm', 'Send')
    );

    $required = [
        'Nombre',
    ];
    $validator = new RequiredFields($required);
    $form = Form::create($this, 'ContactForm', $fields, $actions, $validator);
    // I'm using this novalidate for testing 
    $form->setAttribute('novalidate', 'novalidate');
    $form->setFormMethod('POST', true);

    return $form;
}

而且它没有给我错误,也没有提交成功消息。

如果我用字符串填写该字段,则表单将成功提交并将我的数据保存到模型中,并发送一封电子邮件,但我没有收到任何成功消息。

我有另一种页面类型和另一种以相同方式定义的表单,它工作正常,我不知道为什么这个没有显示错误。

如果我将该字段留空,sendContactForm则不会调用该函数,页面会以干净的表单重新加载并且没有错误。这让我认为验证工作正常,因为它没有到达提交功能,但是即使我向某些字段添加数据,表单也返回空的事实对我来说很奇怪,因为另一个表单返回错误和先前输入的数据。

我也尝试过不使用 JS 或 CSS,以确保不是前端干扰。

它们都分别使用$ContactForm和显示在模板中$MessageForm

作为参考,这里有一些指向用于两个表单/页面的完整文件的链接。

联系页面

联系页面控制器

工作精细形式

工作精细的表单控制器

这让我发疯了好几个小时,我不知道可能出了什么问题。

4

0 回答 0