FormControl or Custom Directive
up vote
1
down vote
favorite
pageRangeValidator(control: FormControl) {
if (control.value === '') {
this.isValidRange = false;
}
if (control.value) {
const selectedRange = control.value;
const range = selectedRange.split('-');
const startingPageIndex = +range[0];
const endingPageIndex = +range[1];
const totalPages = this.totalPages;
if ((startingPageIndex > 0
&& startingPageIndex <= totalPages - 1
&& startingPageIndex < endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages) || (startingPageIndex > 0
&& startingPageIndex <= totalPages
&& startingPageIndex === endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages)) {
this.isValidRange = true;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return null;
} else {
this.isValidRange = false;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return false;
}
}
return null;
}
iam creating a form control element which should accept values only between a particular range i used reactiveformsmodule and formcontrol and created it but i want to know wether it is the best way of doing it or use custom directive for this purpose
angular2-forms
add a comment |
up vote
1
down vote
favorite
pageRangeValidator(control: FormControl) {
if (control.value === '') {
this.isValidRange = false;
}
if (control.value) {
const selectedRange = control.value;
const range = selectedRange.split('-');
const startingPageIndex = +range[0];
const endingPageIndex = +range[1];
const totalPages = this.totalPages;
if ((startingPageIndex > 0
&& startingPageIndex <= totalPages - 1
&& startingPageIndex < endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages) || (startingPageIndex > 0
&& startingPageIndex <= totalPages
&& startingPageIndex === endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages)) {
this.isValidRange = true;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return null;
} else {
this.isValidRange = false;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return false;
}
}
return null;
}
iam creating a form control element which should accept values only between a particular range i used reactiveformsmodule and formcontrol and created it but i want to know wether it is the best way of doing it or use custom directive for this purpose
angular2-forms
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
pageRangeValidator(control: FormControl) {
if (control.value === '') {
this.isValidRange = false;
}
if (control.value) {
const selectedRange = control.value;
const range = selectedRange.split('-');
const startingPageIndex = +range[0];
const endingPageIndex = +range[1];
const totalPages = this.totalPages;
if ((startingPageIndex > 0
&& startingPageIndex <= totalPages - 1
&& startingPageIndex < endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages) || (startingPageIndex > 0
&& startingPageIndex <= totalPages
&& startingPageIndex === endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages)) {
this.isValidRange = true;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return null;
} else {
this.isValidRange = false;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return false;
}
}
return null;
}
iam creating a form control element which should accept values only between a particular range i used reactiveformsmodule and formcontrol and created it but i want to know wether it is the best way of doing it or use custom directive for this purpose
angular2-forms
pageRangeValidator(control: FormControl) {
if (control.value === '') {
this.isValidRange = false;
}
if (control.value) {
const selectedRange = control.value;
const range = selectedRange.split('-');
const startingPageIndex = +range[0];
const endingPageIndex = +range[1];
const totalPages = this.totalPages;
if ((startingPageIndex > 0
&& startingPageIndex <= totalPages - 1
&& startingPageIndex < endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages) || (startingPageIndex > 0
&& startingPageIndex <= totalPages
&& startingPageIndex === endingPageIndex
&& endingPageIndex > 0
&& endingPageIndex <= totalPages)) {
this.isValidRange = true;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return null;
} else {
this.isValidRange = false;
this.pageRange.emit({
validRange: this.isValidRange,
preview: this.previewDone,
value: control.value
});
return false;
}
}
return null;
}
iam creating a form control element which should accept values only between a particular range i used reactiveformsmodule and formcontrol and created it but i want to know wether it is the best way of doing it or use custom directive for this purpose
angular2-forms
angular2-forms
asked yesterday
gurucharan
163
163
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Of course it is more elegant to do it in a custom directive, specially if you are going to use it multiple times or if you want to keep your component small. The directive should recieves the rages and do its evaluation.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Of course it is more elegant to do it in a custom directive, specially if you are going to use it multiple times or if you want to keep your component small. The directive should recieves the rages and do its evaluation.
add a comment |
up vote
0
down vote
Of course it is more elegant to do it in a custom directive, specially if you are going to use it multiple times or if you want to keep your component small. The directive should recieves the rages and do its evaluation.
add a comment |
up vote
0
down vote
up vote
0
down vote
Of course it is more elegant to do it in a custom directive, specially if you are going to use it multiple times or if you want to keep your component small. The directive should recieves the rages and do its evaluation.
Of course it is more elegant to do it in a custom directive, specially if you are going to use it multiple times or if you want to keep your component small. The directive should recieves the rages and do its evaluation.
answered yesterday
Jameel
31827
31827
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53183935%2fformcontrol-or-custom-directive%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password