奏鸣曲日期范围

时间:2017-09-20 14:59:49

标签: symfony date sonata-admin sonata

我有一个小问题我正在使用Sonata开展一个小项目,但我想弄清楚如何定制一个人可以选择日期的日期范围,例如从2000年1月1日到2020年12月31日。可能有人告诉我在Sonata文档中哪里可以找到它或告诉我如何操作?因为我有一点看,我没有什么可以完全自定义日期的选择。

提前致谢

编辑:

在symfony文档中我发现了这个

'days' => range(1,31)

此处:http://symfony.com/doc/current/reference/forms/types/date.html

但我在奏鸣曲文档中找不到任何内容。而不是在Symfony上工作:/

1 个答案:

答案 0 :(得分:3)

我假设您在Sonata中使用 sonata_type_date_picker 字段。文档为here。那么你的案例可以这样实现:

import re
import sys
import time
import datetime
import pyautogui
import os
import subprocess
import random
import math
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary(r'D:\Desktop\Tor\Tor Browser\Browser\firefox.exe')

profile = FirefoxProfile(r'D:\Desktop\Tor\Tor\Browser\Browser\TorBrowser\Data\Browser\profile.default')

driver = webdriver.Firefox(profile, binary)

driver.get("google.com")

或者你可以让日期选择器有3个下拉菜单 - 它是标准的Symfony 日期字段,适用于SonataAdmin:

->add('userDate', 'sonata_type_date_picker', [
    'dp_min_date' => 'Jan 1, 2000', //todo: date format here depends on your setup. Basicly it's the same format, you see in text field after you selected data in datepicker.
    'dp_max_date' => 'Dec 31, 2020',
]);

我还建议使用相同的规则(在实体中)添加后端验证:

->add('userDate', 'date', [
    'years' => range(2000, 2020),
]);