Commit 950ef9417990b2e7c23b29de2e7949c63aed0348

Authored by fengwotao
1 parent 87fd3fd6

pref:视频配置表单 取消验证视频类型为m3u8

Showing 1 changed file with 394 additions and 394 deletions
1   -import { Rule } from 'ant-design-vue/lib/form/interface';
2   -/**
3   - * 常用表单自定义验证规则
4   - *
5   - */
6   -
7   -export const validatorLongitude = (_rule: Rule, value: string) => {
8   - const reg =
9   - /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,20})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,20}|180)$/;
10   - if (!value) {
11   - return Promise.reject('请输入经度');
12   - } else if (!reg.test(value)) {
13   - return Promise.reject('经度整数部分为0-180,小数部分为0到6位!');
14   - }
15   - return Promise.resolve();
16   -};
17   -export const validatorLatitude = (_rule: Rule, value: string) => {
18   - const reg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,20}|90\.0{0,20}|[0-8]?\d{1}|90)$/;
19   - if (value === '') {
20   - return Promise.reject('请输入维度');
21   - } else if (!reg.test(value)) {
22   - return Promise.reject('纬度整数部分为0-90,小数部分为0到6位!');
23   - }
24   -
25   - return Promise.resolve();
26   -};
27   -
28   -//正整数并且可以是英文
29   -export const numberAndEngLishRule: Rule[] = [
30   - {
31   - validator: (_, value: string) => {
32   - const reg1 = /^[0-9]*[1-9][0-9]*$/;
33   - const reg2 = /^[A-Za-z0-9]+$/;
34   - if (!reg1.test(value) && !reg2.test(value)) {
35   - return Promise.reject('不能为负数');
36   - }
37   - return Promise.resolve();
38   - },
39   - validateTrigger: 'blur',
40   - },
41   -];
42   -
43   -//数字和非负数
44   -export const numberAndNonegativeRule: Rule[] = [
45   - {
46   - validator: (_, value: string) => {
47   - const reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/;
48   - if (!reg.test(value)) {
49   - return Promise.reject('不能为负数或者不能输入非数字');
50   - }
51   - return Promise.resolve();
52   - },
53   - validateTrigger: 'blur',
54   - },
55   -];
56   -
57   -// 数字验证
58   -export const numberRule: Rule[] = [
59   - {
60   - required: true,
61   - validator: (_, value: string) => {
62   - const reg = /^[0-9]{8}$/;
63   - if (!reg.test(value)) {
64   - return Promise.reject('只能输入数字');
65   - }
66   - return Promise.resolve();
67   - },
68   - validateTrigger: 'blur',
69   - },
70   -];
71   -export const phoneRegexp = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
72   -
73   -//中英文正则
74   -export const chineseAndEnlishRule: Rule[] = [
75   - {
76   - required: true,
77   - validator: (_, value: string) => {
78   - const reg = /^[a-zA-Z\u4e00-\u9fa5]+$/;
79   - if (value === '' || value === undefined) {
80   - return Promise.reject('请输入');
81   - } else if (!reg.test(value)) {
82   - return Promise.reject('格式不正确');
83   - }
84   - return Promise.resolve();
85   - },
86   - validateTrigger: 'blur',
87   - },
88   -];
89   -
90   -// 手机号验证
91   -export const phoneRule: Rule[] = [
92   - {
93   - required: true,
94   - validator: (_, value: string) => {
95   - const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
96   - if (value === '') {
97   - return Promise.reject('请输入手机号码');
98   - } else if (!reg.test(value)) {
99   - return Promise.reject('手机号格式不正确');
100   - }
101   - return Promise.resolve();
102   - },
103   - validateTrigger: 'blur',
104   - },
105   -];
106   -
107   -// 电子邮箱验证
108   -export const emailRule: Rule[] = [
109   - {
110   - validator: (_, value: string) => {
111   - const reg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
112   - if (!value) {
113   - return Promise.resolve();
114   - } else if (!reg.test(value)) {
115   - return Promise.reject('电子邮箱格式不正确');
116   - }
117   - return Promise.resolve();
118   - },
119   - validateTrigger: 'blur',
120   - },
121   -];
122   -
123   -// 中文正则
124   -export const ChineseRegexp = /[\u4E00-\u9FA5]/;
125   -
126   -//字母或者数字正则
127   -export const allowLetterAndNumberRegExp = /^[A-Za-z0-9]+$/;
128   -
129   -// 电子邮箱正则
130   -export const EmailRegexp = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
131   -
132   -// 手机号正则
133   -export const PhoneRegexp = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
134   -
135   -//中文正则
136   -export const ChineseRegVerify: Rule[] = [
137   - {
138   - required: true,
139   - validator: (_, value: string) => {
140   - const ChineseRegexp = /[\u4E00-\u9FA5]/;
141   - if (!ChineseRegexp.test(value)) {
142   - return Promise.reject('用户名只能是中文');
143   - }
144   - return Promise.resolve();
145   - },
146   - validateTrigger: 'blur',
147   - },
148   -];
149   -
150   -/**
151   - * 视频管理
152   - */
153   -export const CameraMaxLength: Rule[] = [
154   - {
155   - required: true,
156   - validator: (_, value: string) => {
157   - if (String(value).length > 50) {
158   - return Promise.reject('视频标题长度不超过200字');
159   - }
160   - return Promise.resolve();
161   - },
162   - validateTrigger: 'blur',
163   - },
164   -];
165   -
166   -export const CameraVideoUrl: Rule[] = [
167   - {
168   - required: true,
169   - validator: (_, value: string) => {
170   - const ChineseRegexp = /[\u4E00-\u9FA5]/;
171   - if (ChineseRegexp.test(value)) {
172   - return Promise.reject('输入内容不能是中文');
173   - }
174   - return Promise.resolve();
175   - },
176   - validateTrigger: 'blur',
177   - },
178   -];
179   -
180   -export const CameraVideoStreamUrl: Rule[] = [
181   - {
182   - required: true,
183   - validator: (_, value: string) => {
184   - const ChineseRegexp =
185   - /^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4|m3u8))$/i;
186   - if (!ChineseRegexp.test(value)) {
187   - return Promise.reject('请输入正确格式的视频地址');
188   - }
189   - return Promise.resolve();
190   - },
191   - validateTrigger: 'blur',
192   - },
193   -];
194   -export const CameraNumberUrl: Rule[] = [
195   - {
196   - required: true,
197   - validator: (_, value: string) => {
198   - const ChineseRegexp = /^[A-Za-z0-9]+$/;
199   - if (!ChineseRegexp.test(value)) {
200   - return Promise.reject('请输入正确格式的视频编号');
201   - }
202   - return Promise.resolve();
203   - },
204   - validateTrigger: 'blur',
205   - },
206   -];
207   -
208   -//站内通知
209   -export const NotificationTitleMaxLength: Rule[] = [
210   - {
211   - required: true,
212   - validator: (_, value: string) => {
213   - if (String(value).length > 50) {
214   - return Promise.reject('标题长度不超过200字');
215   - }
216   - return Promise.resolve();
217   - },
218   - validateTrigger: 'blur',
219   - },
220   -];
221   -
222   -export const NotificationContentMaxLength: Rule[] = [
223   - {
224   - required: true,
225   - validator: (_, value: string) => {
226   - if (String(value).length > 50) {
227   - return Promise.reject('内容长度不超过50字');
228   - }
229   - return Promise.resolve();
230   - },
231   - validateTrigger: 'blur',
232   - },
233   -];
234   -
235   -export const DeviceNameMaxLength: Rule[] = [
236   - {
237   - required: true,
238   - validator: (_, value: string) => {
239   - if (String(value).length > 30) {
240   - return Promise.reject('设备名称长度不超过30字');
241   - }
242   - return Promise.resolve();
243   - },
244   - validateTrigger: 'blur',
245   - },
246   -];
247   -
248   -export const DeviceProfileIdMaxLength: Rule[] = [
249   - {
250   - required: true,
251   - validator: (_, value: string) => {
252   - if (String(value).length > 36) {
253   - return Promise.reject('所属产品长度不超过36字');
254   - }
255   - return Promise.resolve();
256   - },
257   - validateTrigger: 'blur',
258   - },
259   -];
260   -
261   -export const DeviceOrgIdMaxLength: Rule[] = [
262   - {
263   - required: true,
264   - validator: (_, value: string) => {
265   - if (String(value).length > 36) {
266   - return Promise.reject('组织长度不超过36字');
267   - }
268   - return Promise.resolve();
269   - },
270   - validateTrigger: 'blur',
271   - },
272   -];
273   -
274   -export const DeviceLabelMaxLength: Rule[] = [
275   - {
276   - required: true,
277   - validator: (_, value: string) => {
278   - if (String(value).length > 255) {
279   - return Promise.reject('设备标签不超过255字');
280   - }
281   - return Promise.resolve();
282   - },
283   - validateTrigger: 'blur',
284   - },
285   -];
286   -export const DeviceDescriptionlMaxLength: Rule[] = [
287   - {
288   - required: true,
289   - validator: (_, value: string) => {
290   - if (String(value).length > 500) {
291   - return Promise.reject('备注不超过500字');
292   - }
293   - return Promise.resolve();
294   - },
295   - validateTrigger: 'blur',
296   - },
297   -];
298   -export const DeviceIdMaxLength: Rule[] = [
299   - {
300   - required: true,
301   - validator: (_, value: string) => {
302   - if (String(value).length > 36) {
303   - return Promise.reject('id不超过36字');
304   - }
305   - return Promise.resolve();
306   - },
307   - validateTrigger: 'blur',
308   - },
309   -];
310   -
311   -export const DeviceTenantIdMaxLength: Rule[] = [
312   - {
313   - required: true,
314   - validator: (_, value: string) => {
315   - if (String(value).length > 36) {
316   - return Promise.reject('租户Code不超过36字');
317   - }
318   - return Promise.resolve();
319   - },
320   - validateTrigger: 'blur',
321   - },
322   -];
323   -
324   -export const DeviceTbDeviceIdMaxLength: Rule[] = [
325   - {
326   - required: true,
327   - validator: (_, value: string) => {
328   - if (String(value).length > 36) {
329   - return Promise.reject('tbDeviceId不超过36字');
330   - }
331   - return Promise.resolve();
332   - },
333   - validateTrigger: 'blur',
334   - },
335   -];
336   -
337   -export const DeviceUserNameMaxLength: Rule[] = [
338   - {
339   - required: true,
340   - validator: (_, value: string) => {
341   - if (String(value).length > 50) {
342   - return Promise.reject('用户名长度不超过50字');
343   - }
344   - return Promise.resolve();
345   - },
346   - validateTrigger: 'blur',
347   - },
348   -];
349   -
350   -export const DeviceQueryUserNameMaxLength: Rule[] = [
351   - {
352   - required: true,
353   - validator: (_, value: string) => {
354   - if (String(value).length > 50) {
355   - return Promise.reject('设备名称长度不超过50字');
356   - }
357   - return Promise.resolve();
358   - },
359   - validateTrigger: 'blur',
360   - },
361   -];
362   -
363   -export const DeviceProfileQueryUserNameMaxLength: Rule[] = [
364   - {
365   - required: true,
366   - validator: (_, value: string) => {
367   - if (String(value).length > 255) {
368   - return Promise.reject('配置名称长度不超过255字');
369   - }
370   - return Promise.resolve();
371   - },
372   - validateTrigger: 'blur',
373   - },
374   -];
375   -
376   -enum MediaType {
377   - MP4 = 'mp4',
378   - M3U8 = 'm3u8',
379   -}
380   -
381   -export const MediaTypeValidate: Rule[] = [
382   - {
383   - required: true,
384   - validator: (_, value: string) => {
385   - const reg = /(?:.*)(?<=\.)/;
386   - const type = (value || '').replace(reg, '');
387   - if (type !== MediaType.M3U8) {
388   - return Promise.reject('视频流只支持m3u8格式');
389   - }
390   - return Promise.resolve();
391   - },
392   - validateTrigger: 'blur',
393   - },
394   -];
  1 +import { Rule } from 'ant-design-vue/lib/form/interface';
  2 +/**
  3 + * 常用表单自定义验证规则
  4 + *
  5 + */
  6 +
  7 +export const validatorLongitude = (_rule: Rule, value: string) => {
  8 + const reg =
  9 + /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,20})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,20}|180)$/;
  10 + if (!value) {
  11 + return Promise.reject('请输入经度');
  12 + } else if (!reg.test(value)) {
  13 + return Promise.reject('经度整数部分为0-180,小数部分为0到6位!');
  14 + }
  15 + return Promise.resolve();
  16 +};
  17 +export const validatorLatitude = (_rule: Rule, value: string) => {
  18 + const reg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,20}|90\.0{0,20}|[0-8]?\d{1}|90)$/;
  19 + if (value === '') {
  20 + return Promise.reject('请输入维度');
  21 + } else if (!reg.test(value)) {
  22 + return Promise.reject('纬度整数部分为0-90,小数部分为0到6位!');
  23 + }
  24 +
  25 + return Promise.resolve();
  26 +};
  27 +
  28 +//正整数并且可以是英文
  29 +export const numberAndEngLishRule: Rule[] = [
  30 + {
  31 + validator: (_, value: string) => {
  32 + const reg1 = /^[0-9]*[1-9][0-9]*$/;
  33 + const reg2 = /^[A-Za-z0-9]+$/;
  34 + if (!reg1.test(value) && !reg2.test(value)) {
  35 + return Promise.reject('不能为负数');
  36 + }
  37 + return Promise.resolve();
  38 + },
  39 + validateTrigger: 'blur',
  40 + },
  41 +];
  42 +
  43 +//数字和非负数
  44 +export const numberAndNonegativeRule: Rule[] = [
  45 + {
  46 + validator: (_, value: string) => {
  47 + const reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/;
  48 + if (!reg.test(value)) {
  49 + return Promise.reject('不能为负数或者不能输入非数字');
  50 + }
  51 + return Promise.resolve();
  52 + },
  53 + validateTrigger: 'blur',
  54 + },
  55 +];
  56 +
  57 +// 数字验证
  58 +export const numberRule: Rule[] = [
  59 + {
  60 + required: true,
  61 + validator: (_, value: string) => {
  62 + const reg = /^[0-9]{8}$/;
  63 + if (!reg.test(value)) {
  64 + return Promise.reject('只能输入数字');
  65 + }
  66 + return Promise.resolve();
  67 + },
  68 + validateTrigger: 'blur',
  69 + },
  70 +];
  71 +export const phoneRegexp = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  72 +
  73 +//中英文正则
  74 +export const chineseAndEnlishRule: Rule[] = [
  75 + {
  76 + required: true,
  77 + validator: (_, value: string) => {
  78 + const reg = /^[a-zA-Z\u4e00-\u9fa5]+$/;
  79 + if (value === '' || value === undefined) {
  80 + return Promise.reject('请输入');
  81 + } else if (!reg.test(value)) {
  82 + return Promise.reject('格式不正确');
  83 + }
  84 + return Promise.resolve();
  85 + },
  86 + validateTrigger: 'blur',
  87 + },
  88 +];
  89 +
  90 +// 手机号验证
  91 +export const phoneRule: Rule[] = [
  92 + {
  93 + required: true,
  94 + validator: (_, value: string) => {
  95 + const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  96 + if (value === '') {
  97 + return Promise.reject('请输入手机号码');
  98 + } else if (!reg.test(value)) {
  99 + return Promise.reject('手机号格式不正确');
  100 + }
  101 + return Promise.resolve();
  102 + },
  103 + validateTrigger: 'blur',
  104 + },
  105 +];
  106 +
  107 +// 电子邮箱验证
  108 +export const emailRule: Rule[] = [
  109 + {
  110 + validator: (_, value: string) => {
  111 + const reg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
  112 + if (!value) {
  113 + return Promise.resolve();
  114 + } else if (!reg.test(value)) {
  115 + return Promise.reject('电子邮箱格式不正确');
  116 + }
  117 + return Promise.resolve();
  118 + },
  119 + validateTrigger: 'blur',
  120 + },
  121 +];
  122 +
  123 +// 中文正则
  124 +export const ChineseRegexp = /[\u4E00-\u9FA5]/;
  125 +
  126 +//字母或者数字正则
  127 +export const allowLetterAndNumberRegExp = /^[A-Za-z0-9]+$/;
  128 +
  129 +// 电子邮箱正则
  130 +export const EmailRegexp = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
  131 +
  132 +// 手机号正则
  133 +export const PhoneRegexp = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  134 +
  135 +//中文正则
  136 +export const ChineseRegVerify: Rule[] = [
  137 + {
  138 + required: true,
  139 + validator: (_, value: string) => {
  140 + const ChineseRegexp = /[\u4E00-\u9FA5]/;
  141 + if (!ChineseRegexp.test(value)) {
  142 + return Promise.reject('用户名只能是中文');
  143 + }
  144 + return Promise.resolve();
  145 + },
  146 + validateTrigger: 'blur',
  147 + },
  148 +];
  149 +
  150 +/**
  151 + * 视频管理
  152 + */
  153 +export const CameraMaxLength: Rule[] = [
  154 + {
  155 + required: true,
  156 + validator: (_, value: string) => {
  157 + if (String(value).length > 50) {
  158 + return Promise.reject('视频标题长度不超过200字');
  159 + }
  160 + return Promise.resolve();
  161 + },
  162 + validateTrigger: 'blur',
  163 + },
  164 +];
  165 +
  166 +export const CameraVideoUrl: Rule[] = [
  167 + {
  168 + required: true,
  169 + validator: (_, value: string) => {
  170 + const ChineseRegexp = /[\u4E00-\u9FA5]/;
  171 + if (ChineseRegexp.test(value)) {
  172 + return Promise.reject('输入内容不能是中文');
  173 + }
  174 + return Promise.resolve();
  175 + },
  176 + validateTrigger: 'blur',
  177 + },
  178 +];
  179 +
  180 +export const CameraVideoStreamUrl: Rule[] = [
  181 + {
  182 + required: true,
  183 + validator: (_, value: string) => {
  184 + const ChineseRegexp =
  185 + /^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4|m3u8))$/i;
  186 + if (!ChineseRegexp.test(value)) {
  187 + return Promise.reject('请输入正确格式的视频地址');
  188 + }
  189 + return Promise.resolve();
  190 + },
  191 + validateTrigger: 'blur',
  192 + },
  193 +];
  194 +export const CameraNumberUrl: Rule[] = [
  195 + {
  196 + required: true,
  197 + validator: (_, value: string) => {
  198 + const ChineseRegexp = /^[A-Za-z0-9]+$/;
  199 + if (!ChineseRegexp.test(value)) {
  200 + return Promise.reject('请输入正确格式的视频编号');
  201 + }
  202 + return Promise.resolve();
  203 + },
  204 + validateTrigger: 'blur',
  205 + },
  206 +];
  207 +
  208 +//站内通知
  209 +export const NotificationTitleMaxLength: Rule[] = [
  210 + {
  211 + required: true,
  212 + validator: (_, value: string) => {
  213 + if (String(value).length > 50) {
  214 + return Promise.reject('标题长度不超过200字');
  215 + }
  216 + return Promise.resolve();
  217 + },
  218 + validateTrigger: 'blur',
  219 + },
  220 +];
  221 +
  222 +export const NotificationContentMaxLength: Rule[] = [
  223 + {
  224 + required: true,
  225 + validator: (_, value: string) => {
  226 + if (String(value).length > 50) {
  227 + return Promise.reject('内容长度不超过50字');
  228 + }
  229 + return Promise.resolve();
  230 + },
  231 + validateTrigger: 'blur',
  232 + },
  233 +];
  234 +
  235 +export const DeviceNameMaxLength: Rule[] = [
  236 + {
  237 + required: true,
  238 + validator: (_, value: string) => {
  239 + if (String(value).length > 30) {
  240 + return Promise.reject('设备名称长度不超过30字');
  241 + }
  242 + return Promise.resolve();
  243 + },
  244 + validateTrigger: 'blur',
  245 + },
  246 +];
  247 +
  248 +export const DeviceProfileIdMaxLength: Rule[] = [
  249 + {
  250 + required: true,
  251 + validator: (_, value: string) => {
  252 + if (String(value).length > 36) {
  253 + return Promise.reject('所属产品长度不超过36字');
  254 + }
  255 + return Promise.resolve();
  256 + },
  257 + validateTrigger: 'blur',
  258 + },
  259 +];
  260 +
  261 +export const DeviceOrgIdMaxLength: Rule[] = [
  262 + {
  263 + required: true,
  264 + validator: (_, value: string) => {
  265 + if (String(value).length > 36) {
  266 + return Promise.reject('组织长度不超过36字');
  267 + }
  268 + return Promise.resolve();
  269 + },
  270 + validateTrigger: 'blur',
  271 + },
  272 +];
  273 +
  274 +export const DeviceLabelMaxLength: Rule[] = [
  275 + {
  276 + required: true,
  277 + validator: (_, value: string) => {
  278 + if (String(value).length > 255) {
  279 + return Promise.reject('设备标签不超过255字');
  280 + }
  281 + return Promise.resolve();
  282 + },
  283 + validateTrigger: 'blur',
  284 + },
  285 +];
  286 +export const DeviceDescriptionlMaxLength: Rule[] = [
  287 + {
  288 + required: true,
  289 + validator: (_, value: string) => {
  290 + if (String(value).length > 500) {
  291 + return Promise.reject('备注不超过500字');
  292 + }
  293 + return Promise.resolve();
  294 + },
  295 + validateTrigger: 'blur',
  296 + },
  297 +];
  298 +export const DeviceIdMaxLength: Rule[] = [
  299 + {
  300 + required: true,
  301 + validator: (_, value: string) => {
  302 + if (String(value).length > 36) {
  303 + return Promise.reject('id不超过36字');
  304 + }
  305 + return Promise.resolve();
  306 + },
  307 + validateTrigger: 'blur',
  308 + },
  309 +];
  310 +
  311 +export const DeviceTenantIdMaxLength: Rule[] = [
  312 + {
  313 + required: true,
  314 + validator: (_, value: string) => {
  315 + if (String(value).length > 36) {
  316 + return Promise.reject('租户Code不超过36字');
  317 + }
  318 + return Promise.resolve();
  319 + },
  320 + validateTrigger: 'blur',
  321 + },
  322 +];
  323 +
  324 +export const DeviceTbDeviceIdMaxLength: Rule[] = [
  325 + {
  326 + required: true,
  327 + validator: (_, value: string) => {
  328 + if (String(value).length > 36) {
  329 + return Promise.reject('tbDeviceId不超过36字');
  330 + }
  331 + return Promise.resolve();
  332 + },
  333 + validateTrigger: 'blur',
  334 + },
  335 +];
  336 +
  337 +export const DeviceUserNameMaxLength: Rule[] = [
  338 + {
  339 + required: true,
  340 + validator: (_, value: string) => {
  341 + if (String(value).length > 50) {
  342 + return Promise.reject('用户名长度不超过50字');
  343 + }
  344 + return Promise.resolve();
  345 + },
  346 + validateTrigger: 'blur',
  347 + },
  348 +];
  349 +
  350 +export const DeviceQueryUserNameMaxLength: Rule[] = [
  351 + {
  352 + required: true,
  353 + validator: (_, value: string) => {
  354 + if (String(value).length > 50) {
  355 + return Promise.reject('设备名称长度不超过50字');
  356 + }
  357 + return Promise.resolve();
  358 + },
  359 + validateTrigger: 'blur',
  360 + },
  361 +];
  362 +
  363 +export const DeviceProfileQueryUserNameMaxLength: Rule[] = [
  364 + {
  365 + required: true,
  366 + validator: (_, value: string) => {
  367 + if (String(value).length > 255) {
  368 + return Promise.reject('配置名称长度不超过255字');
  369 + }
  370 + return Promise.resolve();
  371 + },
  372 + validateTrigger: 'blur',
  373 + },
  374 +];
  375 +
  376 +// enum MediaType {
  377 +// MP4 = 'mp4',
  378 +// M3U8 = 'm3u8',
  379 +// }
  380 +
  381 +export const MediaTypeValidate: Rule[] = [
  382 + {
  383 + required: true,
  384 + // validator: (_, value: string) => {
  385 + // // const reg = /(?:.*)(?<=\.)/;
  386 + // // const type = (value || '').replace(reg, '');
  387 + // // if (type !== MediaType.M3U8) {
  388 + // // return Promise.reject('视频流只支持m3u8格式');
  389 + // // }
  390 + // return Promise.resolve();
  391 + // },
  392 + validateTrigger: 'blur',
  393 + },
  394 +];
... ...