it-swarm-ko.tech

날짜 필드에서 "필수"상태 제거

현재 필수로 표시된 필드가 있습니다. 그러나 관리자를 제외한 모든 역할에 필요합니다. hook_form_alter()을 구현하는 모듈을 만들었으며 날짜 필드를 제외한 모든 필드에 대한 필수 상태를 제거 할 수있었습니다. 어떤 설정을 변경해야하는지 아십니까?

또한 hook_form_alter()에서 변경하고 '#after_build'에서 변경해 보았습니다. 나는 거기에서도 운이 없었다.

5
mikesir87

이것은 아마도 간단한 날짜 필드를 사용하는 것이 아니라 예를 들어 제공되는 날짜 필드를 사용하기 때문일 것입니다. 날짜 모듈.

사용자 정의 hook_form_alter를 구현하는 모듈이 마지막으로 실행되는지 확인해야합니다. 이렇게하면 다른 모듈이 다시 "필수"로 다시 변경할 수 없습니다.

또한 일부 모듈은 모두 다른 "필수"를 구현합니다. 예 : 비즈니스 로직 "시작 날짜가 설정되면 종료 날짜도 필요합니다"는 간단한 "필수"플래그로 구현할 수 없지만 해당 양식의 hook_validations에서 실행됩니다.

이를 무시하려면 element_validate 또는 전체 양식 #validate에서 특정 유효성 검사를 제거하여 실행에서 제외해야합니다.

추악한 동작을 변경하지 않도록 이러한 원본 유효성 검사를 자신의 복사본으로 대체 할 수 있습니다.

3
berkes