2013-01-14 3 views
3

CakePHP 2.2.4를 사용 중입니다.이름이없는 cakephp 양식 입력

양식 작성시 양식 도우미를 사용하고 있습니다. name 속성이없는 양식 입력이 필요합니다.

formhelper에서 가능합니까? 아니면이 양식을 만들기 위해 HTML 만 사용해야합니까? HTML에서

예 :

<input type="text" maxlength="20" autocomplete="off" class="card-number stripe-sensitive required" /> 

를 기본적으로 내가 CakePHP의에서 formhelper를 사용하여 위의 일을 할 수 있습니까?

감사합니다.

답변

9

$options 배열의 모든 속성을 덮어 쓸 수 있습니다.이 속성은 input() 메서드의 두 번째 인수입니다. 그래서 기술적으로 당신은 할 수 :

echo $this->Form->input('Model.field', array(
    'label' => false, 
    'div' => false, 
    'name' => false, 
    'maxlength' => 20, 
    'autocomplete' => 'off', 
    'class' => 'card-number stripe-sensitive' 
)); 

을하지만 유의하십시오하여 $this->data 배열이에서 이름을의수록 당신이 컨트롤러/모델에서의 데이터가 아무것도 할하려는 경우 name 속성을 삭제하면 전체 필드가 ​​쓸모있게 입력 필드의 이름 속성

+0

@bfavaretto 'div'가 false로 설정되어 있기 때문에 래핑 div가 추가되지 않습니다. –

+0

@ BorislavSabev 올드 스쿨이 대답하기 전에 그것을 말했다. – bfavaretto

+0

@bfavaretto ok, ok. 고심하지 마라. 그냥 미래에 이것을 보게 될 다른 사람을 밝히십시오. ;) –

1

CakePHP는 양식에서 제출 된 내용을 알 수 있도록 name 속성이 필요합니다. 나는 왜 당신이 거기에 아무 이름 속성도 원하지 않을 것이라고 나는 확신하지 못한다.

명명 된 입력이 저장 메소드에 전달되는 것이 염려되는 경우 컨트롤러에서 항상 unset을 사용하여 저장/검증 전에 $ this-> request-> 데이터에서 제거 할 수 있습니다.

그렇지 않으면 수동으로보기에 마크 업을 추가 할 수 있지만 이름이 지정되지 않은 입력 요소를 원하는 이유는 확실하지 않습니다.

+1

이유 이름없는 입력 요소가 필요합니다. stripe.com을 사용하여 PCI 준수를 위해 stripe.js를 사용하여 온라인 신용 카드 결제를 수행하고 있습니다. 이를 위해서는 입력 이름이 없도록 신용 카드 정보를 수집하는 데 사용하는 양식이 필요합니다. – Softinio