小编Mih*_*ilo的帖子

输入类型编号"仅数值"验证

type="number"如果仅使用Reactive Forms (无指令),如果值为numeric或null,我如何验证输入是否有效?
只有数字[0-9]和.是允许的,没有"e"或任何其他字符.


到目前为止我尝试过的:

模板:

<form [formGroup]="form" novalidate>
    <input type="number" formControlName="number" id="number">
</form>
Run Code Online (Sandbox Code Playgroud)

零件:

export class App {
  form: FormGroup = new FormGroup({});

  constructor(
    private fb: FormBuilder,
  ) {
    this.form = fb.group({
      number: ['', [CustomValidator.numeric]]
    })
  }
}
Run Code Online (Sandbox Code Playgroud)

的CustomValidator:

export class CustomValidator{
  // Number only validation
  static numeric(control: AbstractControl) {
    let val = control.value;

    if (val === null || val === '') return null;

    if (!val.toString().match(/^[0-9]+(\.?[0-9]+)?$/)) return { 'invalidNumber': true };

    return null;
  }
} …
Run Code Online (Sandbox Code Playgroud)

forms validation angular

31
推荐指数
2
解决办法
5万
查看次数

我为什么要使用Validators.compose()?

我有一个字段,我想用多个验证器验证.
使用Module Driven方法,代码看起来像这样:

this.exampleForm = this.fb.group({
    date_start : ['', Validators.compose([
                          Validators.required, 
                          Validators.pattern("[0-9]{2}-[0-9]{2}-[0-9]{4}")
                      ])
                 ]
})
Run Code Online (Sandbox Code Playgroud)

但是我也可以在没有Validators.compose()的情况下编写这个:

this.exampleForm = this.fb.group({
    date_start : ['', [
                          Validators.required, 
                          Validators.pattern("[0-9]{2}-[0-9]{2}-[0-9]{4}")
                      ]
                 ]
})
Run Code Online (Sandbox Code Playgroud)

它工作得很好.我个人比较喜欢第二个版本(无撰写),更少的代码和更好的可读性.这就引出了一个问题,我为什么要使用Validators.compose()?

angular2-forms angular2-formbuilder angular

18
推荐指数
2
解决办法
4821
查看次数

如何在Windows上安装PHP 7扩展"memcache"

我在安装php的memcached扩展时遇到了很大的问题.

目前使用:

操作系统:Windows 10 x64
PHP:7.0.1通过XAMPP
Apache:2.4.18(Win32)

我已经成功安装了memcached,C:/memcached正在运行该服务.

但是当尝试添加memcache php扩展时,问题就出现了.我尝试了很多版本,php_memcache.dll而且似乎没有工作.
我确实在php.ini中包含了扩展名 extension=php_memcache.dll

当我运行php -mmemcache没有列出,并在顶部我收到错误:

PHP启动:无法加载动态库'C:\ xampp\php\ext\php_memcache.dll'
- 找不到指定的模块.

当我尝试运行test.php进行内存缓存初始化时,我会重新启动 Class not found exception

这是一个很大的问题,因为我需要它来运行硒测试.

php windows memcached php-extension php-7

4
推荐指数
1
解决办法
1万
查看次数

RESTful应用程序的url结构有哪些更好?

我们有一个Laravel后端和Angular2用于前端.

哪种URL结构更好:

what/:id/action
示例:course/2/edit

(我在大多数博客中看过这个版本,这是Laravel的默认约定)

要么

what/action/:id
示例:course/edit/2


what/:id/action如果我有
课程/类别,这个版本似乎有更好的保护,不会"重叠" 会遇到问题因为类别会落入:id槽.


所有这些URL共享相同的方法(GET),因此结构本身需要足够好.

通过以正确的顺序排序或使用路线可以解决重叠问题,
pathMatch: 'full'但这意味着模式本身不够好.

对不起有点主观的问题,并提前感谢您的时间.

api restful-url laravel angular

2
推荐指数
1
解决办法
181
查看次数