0

我需要在 datepickerfield 上验证生日,但我不知道尝试。

我有这个代码:

日期选择器字段

{
    xtype: 'datepickerfield',
    id: 'dob',
    name: 'dates',
    useClearIcon: true,
    renderData: {
        placeHolder : 'dd/mm/YYYY'
    },
    label: '*Born of birthday',
    picker: {
        doneButton: 'Select',
        cancelButton: 'Cancel',
        slotOrder: ['day', 'month', 'year'],
        yearFrom: 1925,
        yearTo: 2012,
        hideOnMaskTap: true,
    }
}

和我一样的验证

if(Ext.getCmp('dob').getValue().format('d/m/Y') < new Date().format('d/m/Y')) {
    Ext.Msg.alert('Adult')
} else {
    Ext.Msg.alert('Minor')
}

请帮我。

4

1 回答 1

1

将此侦听器添加到您的datepickerfield对象:

listeners:{
  change:function(picker, birthDate){
    var today = new Date(),
        age = today.getFullYear() - birthDate.getFullYear(),
        m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    if(age >= 18){
      console.log('Adult');
    }
    else{
      console.log('Minor');
    }
  }
}

希望这可以帮助

于 2012-06-05T17:07:38.423 回答