2017-11-28 4 views
-2

필드를 숨기려면 edit.html.twig 템플릿을 수정하고 있습니다. 컨트롤러에서 내 템플릿을로드하기 위해 editAction을 수정했습니다. CSRF에 문제가 있습니다. 양식을 제출할 때 CSRF 토큰이 유효하지 않습니다. 양식을 새로 고치려고했지만 동일한 결과가 있습니다. (이 모듈은 MOST 1.1.0 및 ZK 2.0.2에서 작성되었으며 edit.html.twig를 수정합니다)Zikula CSRF 토큰이 유효하지 않습니다.

문제점 :

내가 지운 필드를 삽입하려했지만 문제가 지속됩니다.

메시지 오류 : "CSRF 토큰이 유효하지 않습니다. 양식을 다시 제출하십시오." _token ( "심포니 \ 구성 요소 \ 양식 \ 확장 \ 코어 \ 타입 \ HiddenType" 는)

나는 토큰이 템플릿에서 생성되지 않는다는 것을 발견했다. 이 코드가 있으면 토큰이 생성됩니다. {{form_end (form, { 'render_rest': false})}} 토큰이 생성되지 않습니다.

그래서, 내가 추가해야 {{form_widget이 (form._token)}} 이제 토큰이 생성됩니다,하지만 난 양식을 제출할 때, 내가 같은 메시지는 "CSRF 토큰이 유효 있습니다. 다시 제출 해보세요 형태. "

+2

불행히도 우리는 더 많은 정보를 제공 할 수 없습니다. https://stackoverflow.com/help/how-to-ask를 읽고 특정 코드와 오류 메시지를 입력하십시오. – MEmerson

+0

코드가있는 게시물을 업데이트했습니다. – Krator

답변

0

당신은

{{ form_end(form) }} 

다시 사용하고 원하지 않는 필드를 제거하기 위해 다음을 수행해야합니다. 같은

편집 modules/YourVendor/YourAppModule/Form/Type/YourFormType.php 및 추가 뭔가 : 이것은 발전기 원 보장

skipFiles " 
    Form/Type/YourFormType.php 
" 

:

use Symfony\Component\Form\FormBuilderInterface; 

... 

/** 
* @inheritDoc 
*/ 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    parent::buildForm($builder, $options); 

    $builder->remove('yourUnwantedField'); 
} 

마지막으로 모델의 설정 컨테이너의 skipFiles 속성에 수정 된 파일의 경로를 추가 이 파일을 다시 작성하고 덮어 쓰지 않으므로 재생성 후에도 사용자 정의 코드가 유지됩니다.

+0

정확하지만 토큰과 동일한 메시지가 있습니다. 내 게시물을 편집했습니다. – Krator

+0

템플릿의 숨기기 필드 만 원하지 않습니다. 내 생각에 대답이 유효하지 않도록 자세한 내용을 변경한다고 생각합니다. 감사합니다. – Krator

관련 문제