如何在服务器端重新使用Angular进行验证?
问题描述:
我想在客户端和服务器端重用与Angular 4.4.5和NodeJS 7.10.1相同的一组验证器(最新的Ubuntu回购版)。我相信这是可能的。如何在服务器端重新使用Angular进行验证?
我的基本想法是让NodeJS和Express上的HTTP端点工作,它接受来自角度形式的JSON数据的POST请求,创建与接收数据相同的表单并检查它。
我的尝试不成功,我不知道如何使用同一版本的Typescript作为Angular用法以及如何导入带有窗体的组件。这将是理想的看到一些简单的例子,工作。我会尽快分享我的尝试。
答
现在我设法实例化组件这种方式。从tsconfig.json
某些设置
import 'reflect-metadata';
import { CuComponent } from './app/cu.component';
console.log(new CuComponent())
运行tsc
:
创建cli.ts
测试独立创作角度分量的
tsc -t es5 --lib es2016,dom --experimentalDecorators src/cli.ts
得到输出:
CuComponent {
registration:
FormGroup {
validator: null,
asyncValidator: null,
_onCollectionChange: [Function],
_pristine: true,
_touched: false,
_onDisabledChange: [],
controls: { familyName: [Object], givenName: [Object], phone: [Object] },
_valueChanges:
EventEmitter {
_isScalar: false,
observers: [],
closed: false,
isStopped: false,
hasError: false,
thrownError: null,
__isAsync: false },
_statusChanges:
EventEmitter {
_isScalar: false,
observers: [],
closed: false,
isStopped: false,
hasError: false,
thrownError: null,
__isAsync: false },
_status: 'VALID',
_value: { familyName: null, givenName: null, phone: null },
_errors: null } }
创建组件。