Php SilverStripe CreditCardField错误的html和提交错误

Php SilverStripe CreditCardField错误的html和提交错误,php,forms,silverstripe,credit-card,Php,Forms,Silverstripe,Credit Card,我有一个表单,没有它就可以很好地工作,但是当我添加 CreditCardField::create('CreditCard','Credit Card')->setAttribute('placeholder', '0000') 它显示具有相同名称、id和其他属性的信用卡字段。当我提交它时,验证当然会抛出一个错误,因为它需要一个数组,但只得到最后4位的字符串 我是否正确创建此字段?我假设,一旦我解决了显示问题,它将解决验证问题。我对该字段类型不太熟悉,但您可以从中看出,它不希望能够设置占

我有一个表单,没有它就可以很好地工作,但是当我添加

CreditCardField::create('CreditCard','Credit Card')->setAttribute('placeholder', '0000')
它显示具有相同名称、id和其他属性的信用卡字段。当我提交它时,验证当然会抛出一个错误,因为它需要一个数组,但只得到最后4位的字符串


我是否正确创建此字段?我假设,一旦我解决了显示问题,它将解决验证问题。

我对该字段类型不太熟悉,但您可以从中看出,它不希望能够设置占位符:

<span id="{$Name}_Holder" class="creditCardField">
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[0]" value="{$ValueOne}" $TabIndexHTML(0)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[1]" value="{$ValueTwo}" $TabIndexHTML(1)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[2]" value="{$ValueThree}" $TabIndexHTML(2)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[3]" value="{$ValueFour}" $TabIndexHTML(3)/>
</span>

我对这种字段类型不太熟悉,但从中可以看出,它不希望设置占位符:

<span id="{$Name}_Holder" class="creditCardField">
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[0]" value="{$ValueOne}" $TabIndexHTML(0)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[1]" value="{$ValueTwo}" $TabIndexHTML(1)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[2]" value="{$ValueThree}" $TabIndexHTML(2)/>
    -
    <input $AttributesHTML('id', 'name', 'value', 'tabindex') name="{$Name}[3]" value="{$ValueFour}" $TabIndexHTML(3)/>
</span>

因此,在模板中有一个bug,我一直在寻找它。目前的解决办法是,您必须拥有自己的CreditCardForm.ss模板,该模板使用
$getAttributesHTML
,而不是
$AttributesHTML
,因此模板中有一个bug,我一直在寻找。目前的解决办法是,您必须拥有自己的CreditCardForm.ss模板,该模板使用
$getAttributesHTML
而不是
$AttributesHTML

$AttributesHTML('id','name','value','tabindex')
引起问题的。这些属性意味着将它们从输出中排除,但是我可以在原始源代码中看到它不是,而第二个名称是。第一个会覆盖第二个,这会导致我的问题。我在框架上提出了一个问题。是
$AttributesHTML('id','name','value','tabindex')
引起了问题。这些属性意味着将它们从输出中排除,但是我可以在原始源代码中看到它不是,而第二个名称是。第一个会覆盖第二个,这会导致我的问题。我提出了一个关于框架的问题。