如何在服务器端重新使用Angular进行验证?

如何在服务器端重新使用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 } } 

创建组件。