web-dev-qa-db-ja.com

失敗したJFormRule検証にカスタムメッセージを提供するにはどうすればよいですか?

カスタムフィールドを検証し、テストが失敗すると、Joomlaは次のデフォルトのエラーメッセージを返します。

**Warning** Invalid field: My Field

返されるメッセージを指定して、無効である理由を説明するにはどうすればよいですか?

7
GDP

message属性を追加しますが、次のようにすることをお勧めします。

<field name="my_code" type="text" size="15" label="My Code"
  validate="myrule" message="Field may only contain A-z or 0-9" />

:)

3
Fedik

メッセージが異なる場合は、次のようにmessage属性を追加します。

public function test(SimpleXMLElement $element, $value, $group = null, JRegistry $input = null, JForm $form = null)
{
    if(!preg_match('/^[a-z0-9]+$/i', $value)) {
        $element->addAttribute('message', 'Field may only contain A-z or 0-9');
        return false;
    }elseif(!$somethingelse) {
        $element->addAttribute('message', 'Something else is wrong');
        return false;
    }
1
GDP