Я делаю форму, эта форма содержит текст (имя, возраст ...) и одно изображение. Прямо сейчас я могу убедиться, что текст необходим, используя FormGroup, но я хотел бы убедиться, что форма действительна ТОЛЬКО ЕСЛИ введено изображение.
Итак, я попробовал этот способ: (HTML file )
<input formControlName="photo" type="file" (click)="selectImage()">
и файл TS:
ngOnInit() {
this.sellingSneakForm = new FormGroup({
photo: new FormControl('', [Validators.required]),
});}
с функциями:
selectImage() {
let actionSheet = this.actionSheetCtrl.create({
title: 'Add an image',
buttons: [
{
text: 'Take a picture from camera',
role: 'CAMERA',
handler: () => {
this.takePicture();
}
},
{
text: 'Choose from your gallery',
role: 'GALLERY',
handler: () => {
this.selectPicture();
}
},
{
text: 'Cancel',
role: 'cancel',
handler: () => {
}
}
]
});
actionSheet.present();}
takePicture() {
this.camera.getPicture({
quality : 95,
destinationType : this.camera.DestinationType.DATA_URL,
sourceType : this.camera.PictureSourceType.CAMERA,
encodingType: this.camera.EncodingType.JPEG,
targetWidth: 500,
targetHeight: 500,
}).then(imageData => {
this.base64Image = "data:image/jpeg;base64," + imageData; // imageData is a base64 encoded string
this.Picture = imageData; //this.Picture is passing the string to our DB
}, error => {
console.log("ERROR -> " + JSON.stringify(error));
});}
Это работает на 100%, когда я загружаю изображение, но мое приложение не нужно изображение, чтобы положить sh элемент в базу данных ... Это то, что я хотел бы с этой FormGroup и FormControl ==> убедиться, что пользователь ввел изображение ..
Возможно ли это Кстати?
Спасибо