시작 및 종료 날짜 유효성 검사


14

사용자가 Start Date및 을 선택하기를 원하는 관리자 양식으로 작업 하고 End Date있습니다.

End Date보다 큼을 확인 해야합니다 Start Date.

여기에 이미지 설명을 입력하십시오

누구든지 위에 설명 된 시나리오와 함께 시작 및 종료 날짜에 defautl Magento 유효성 검사 클래스를 제공하는 데 도움을 줄 수 있습니까?

기본 Magento 유효성 검사로 불가능한 경우 pls는 사용자 정의 JS 코드를 게시합니다.

또한 이것은 날짜 범위의 내 양식입니다.

        $dateFormatIso = Mage::app()->getLocale()->getDateFormat(
            Mage_Core_Model_Locale::FORMAT_TYPE_SHORT
        );

$fieldset->addField('start_date', 'date', array(
            'label'     => Mage::helper('myhelper')->__('Start Date'),
            'name'      => 'start_date',
            'note'      => $this->__('Start Date'),
            'required'  => true,
            'image'     => $this->getSkinUrl('images/grid-cal.gif'),
            'format'    => $dateFormatIso,
             'class'    => 'required-entry validate-date validate-date-range date-range-start_date-from'
        ));

        $fieldset->addField('end_date', 'date', array(
            'label'     => Mage::helper('myhelper')->__('End Date'),
            'name'      => 'end_date',
            'note'      => $this->__('End Date'),
            'required'  => true,
            'image'     => $this->getSkinUrl('images/grid-cal.gif'),
            'format'    => $dateFormatIso,
            'class'     => 'required-entry validate-date validate-date-range date-range-end_date-to'
        ));

감사

답변:


8

validate-date-range필드에서 Magento의 유효성 검사기 클래스를 사용해보십시오 .

이것을 두 필드에 추가하면 최신 정보를 얻고 두 값을 비교합니다.

다음 코드를 사용하여 현재 값을 얻으십시오.

var m = /\bdate-range-(\w+)-(\w+)\b/.exec(elm.className);
if (!m || m[2] == 'to' || Validation.get('IsEmpty').test(v)) {
    return true;
}

그래서 당신이해야 할 것은 형식의 클래스를 추가하다 date-range-your_attribute_code-from하고 date-range-your_attribute_code-to. 이렇게하면 Magento가 두 필드를 연결할 수 있습니다.

이에 대한 예를 보려면 CMS 페이지에서 디자인 탭을 확인하십시오. app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Design.php

다음은 클래스에 대한 자세한 설명입니다.

  1. validate-date: 입력 한 값이 유효한 날짜인지 확인합니다.
  2. validate-date-range: 올바른 수업이있을 때 두 날짜를 비교합니다.
  3. date-range-custom_data-from, date-range-custom_data-to: 그들은 날짜에 사용할 수있는 두 날짜 때문에 이러한 링크를 확인 범위 이는 별도로 동일해야합니다 -to-from 이 수 있다는 것을 의미 date-range-xxxx-from하고 date-range-xxxx-to각각을.

두 가지 질문 : 1 ) How does this work -> 'class'=> '필수 항목 validate-date validate-date-range date-range-custom_theme- to'` 2 ) How to input date-range-your_attribute_code-from` 사용자 정의 속성 코드가 없기 때문에.
Jordan

@Jordan 속성 코드가 없으면 어떻게 양식을 작성합니까? 기술적으로 둘이 동일한 것을 가지고있는 attribute_code한 두 필드를 연결하는 것만으로는 중요하지 않습니다 .
David Manners

방금 언급 한 클래스를 사용 app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Design.php했으며 효과가있었습니다. 변경해야합니까?
Jordan

1
@Jordan 수업에 -from-to접미사 가 필요합니다 . 시도 date-range-start_data-fromdate-range-start_data-to
데이비드 매너를

1
명확한 설명을 주셔서 감사합니다. 중요한 것은 -to 및 -from 날짜 범위를 확인하기위한 고유 한 attrib 코드입니다.
Jordan

0

모든 유효성 검사는 아래에 정의 된 Java 스크립트 유효성 검사 규칙과 연결됩니다.

js / prototype / validation.js

파일

당신은 거기에 코드를 사용자 정의 할 수 있습니다


작동하는 사용자 정의 코드가 있습니까?
Jordan

Magento 코어 파일을 수정하지 않는 것이 좋습니다 js/prototype/validation.js. 별도의 JS 파일에 사용자 지정 유효성 검사를 추가 할 수 있습니다.
7ochem
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.